Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso 2008 / 09
Beneficios de OOP Diseo Basado en Componentes Programacin Orientada a Objetos (OOP) en VB.NET
Ingeniera Informtica Universidad Carlos III de Madrid
Diseo Basado en Componentes. Curso 2008 / 09
Abstraccin: Identificacin de objetos a travs de sus aspectos conceptuales. Encapsulacin: Separacin de la interfaz del objeto de su implementacin. Herencia: Partiendo de una superclase (clase padre) se crean nuevas subclases (clases hijas) Polimorfismo: Ante el mismo mensaje se realizarn distintas acciones segn el objeto al que sea aplicado. Sobrecarga: Varios mtodos con idntico nombre dentro de la misma clase, distinguindose por la lista de parmetros.
OOP: Clase
Especificacin de un conjunto de objetos con estructura y comportamiento comunes. Comportamiento (operaciones): operaciones o servicios que pueden realizar los objetos de la clase, en respuesta a mensajes recibidos de otros objetos. Estado (atributos): valores almacenados en el objeto de la clase, resultado de las operaciones pasadas. Los atributos y las operaciones relacionadas se empaquetan juntas y se definen como un tipo. Molde para crear objetos.
Clase Vehculo
Vehculo
matrcula marca modelo ao arrancar() acelerar() cambiarMarcha() frenar() apagar()
Estado
Comportamiento
OOP: Objeto
Cuando se crea una instancia variable de una clase se le llama OBJETO.
miCoche:Vehculo
Instancias de la clase Figura (iguales en Forma, pero con propiedad Color distinta) Molde para fabricar Figuras rectangulares matrcula = 2322 CLS marca = Toyota modelo = Corolla ao = 2005
Public: El miembro clase ser accesible por todo el cdigo de la clase, sus subclases y otras clases. Private: El miembro de la clase slo ser accesible por el cdigo de la clase. Protected: La clase ser accesible desde el cdigo de la clase y desde cualquier subclase. Friend: La clase ser accesible por todo el cdigo de su proyecto o ensamblado. Protected Friend: Combinacin de los dos modificadores de acceso.
Variable de propiedad: variable con mbito privado a nivel de la clase que se encarga de guardar el valor de la propiedad (atributo).
Slo lectura: ReadOnly Property Slo escritura: WriteOnly Property
Procedimiento de propiedad: encargado de realizar las operaciones de acceso (GET) y asignacin (SET) de valores a la variable de propiedad.
Procedimiento Function
Function Prueba (ByVal param1 as Integer) as Integer Dim varAux as Integer Prueba = varAux Return varAux End Function
Para indicar que el mtodo puede ser sobreescrito, utilizar la palabra clase Overridable en la declaracin del mtodo. Para indicar que el mtodo sobreescribe a otro ya existente, utilizar la palabra clave Overrides en la declaracin del mtodo. Para indicar que el mtodo no puede ser sobreescrito, utilizar la palabra clave NotOverridable en la declaracin del mtodo.
Mtodos Constructores
Mtodo pblico Sub con el nombre New(). Se invoca cuando se crea el objeto (instanciacin). til para tareas de configuracin iniciales sobre el objeto. Pueden estar sobrecargados.
Public Class Vehiculo Public Sub New (ByVal marca as String, ByVal modelo As String) _marca = marca _modelo = modelo End Function End Class
Me y MyBase (I)
Me: Se utiliza para tener acceso a los miembros de la propia clase (ej., Me.calcularSalario(), Me._marca). MyBase: Se utiliza para tener acceso a los miembros de una clase base desde su correspondiente subclase.
Me y MyBase (II)
Clases Abstractas
No permite la instanciacin directa de objetos a partir de ella. Se debe utilizar la palabra clase MustInherit en el momento de su declaracin. Los miembros abstractos de la clase irn declarados utilizando la palabra clave MustOverride.
Public MustInherit Class Vehiculo Public Sub calcularCredito(ByVal balance As Integer) Me._credito = balance * 0,4 End Sub Public MustOVerride Sub calcularImpuestos () End Class
Public Class Administrativo : Inherits Empleado Public Overloads Sub calcularIncentivos(ByVal horas As Integer) ' Se llama a la clase base con MyBase para hacer ' en primer lugar los mismos clculos de incentivos ' de la clase Empleado MyBase.calcularIncentivos() ' Despus se hacen los clculos propios de esta clase Me._incentivos += horas * 15 End Sub End Class
Declaracin e instanciacin en distintas lneas de cdigo. Declaracin e instanciacin en la msma lnea de cdigo. Declaracin e instanciacin simultnea.
Declaracin Instanciacin
Declaracin e Instanciacin
Objecto
Clase
Declaracin e Instanciacin
Interfaces
Naturaleza declarativa: lista de propiedades y mtodos que sern codificados en una o varias clases. Una clase puede implementar mltiples interfaces, pero solo puede heredar de una nica clase. Las interfaces pueden proporcionar polimorfismo. Se utilizar la palabra clave Interface en su declaracin. La clase que la implemente utilizar la palabra clave Implements en su declaracin. Public Interface Cadena ReadOnly Property Longitud() As Integer Function ObtenerValor() As String End Interface Public Class Empleado : Implements Cadena Cdigo de la clase End Class
Namespaces en VB.NET
Un namespace o espacio de nombres, es un contenedor lgico que permiten organizar de manera ptima las clases dentro de un proyecto o ensamblado.
Namespace Personal Public Class Empleado Cdigo de la clase End Class Imports Gestion.Personal Public Class Principal Public Shared Sub Main Dim Emp As Empleado End Sub End Class