Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Nombre y Matricula
Jefferson Alejandro Villanueva García
2017-0208
Facilitador
Daniel Parra
Sección
Contenido
Clases............................................................................................................. 3
Objetos........................................................................................................... 4
Atributos ........................................................................................................ 5
Métodos ......................................................................................................... 6
Instancia......................................................................................................... 6
Encapsulación: .............................................................................................. 7
La modularidad ............................................................................................. 7
Jerarquía ........................................................................................................ 8
La generalización .......................................................................................... 8
La herencia .................................................................................................... 8
Asociación ................................................................................................... 10
Polimorfismo: .............................................................................................. 10
Constructor .................................................................................................. 11
Destructor .................................................................................................... 11
Publico: ........................................................................................................ 11
Privado: ....................................................................................................... 12
Protegido ..................................................................................................... 12
Clases
Una clase es un conjunto de objetos que comparten una estructura y
comportamiento comunes.
Clase representa una abstracción, la esencia que comparten los
objetos.
Un objeto es un ejemplo de una clase.
Un objeto no es una clase, y una clase no es un objeto (aunque puede
serlo, p.e. en Smalltalk).
Las clases actúan como intermediarias entre una abstracción y los
clientes que pretenden utilizar la abstracción. De esta forma.
La clase muestra:
Visión externa de comportamiento (interface), que enfatiza la
abstracción escondiendo su estructura y secretos de comportamiento.
Visión interna (implementación), que abarca el código que se ofrece
en la interface de la clase.
Otras definiciones
Las clases son plantillas que
agrupan comportamiento y
estados de los futuros
objetos.
Los objetos son instancias de
una clase. Usando el símil
“variable – tipo” de la
programación estructurada,
se entiendo que un objeto es
una variable que tiene el
comportamiento y estados del
tipo.
Objetos
Objeto: Componente o código de software que contiene en sí mismo tanto
sus características (campos) como sus comportamientos (métodos); se
accede a través de su interfaz o signatura.
Se puede decir que un objeto es todo aquello que pueda ser identificable
dentro de una especificación de requerimientos o problema y tenga las
siguientes características:
Tenga estados definibles (abierto, cerrado).
Posea comportamientos asociados (puede correr, saltar, volar, etc.).
Éstos son denominados métodos.
Son capaces de interactuar/comunicarse con otros objetos por medio
de sus métodos
Una característica propia de este paradigma, es la transparencia entre
la implementación a nivel de código y la funcionalidad que provee
un método (no me interesa cómo lo haga, sólo que lo haga).
Atributos
Los atributos son las características individuales que diferencian un objeto
de otro y determinan su apariencia, estado u otras cualidades. Los
atributos se guardan en variables denominadas de instancia, y cada
objeto particular puede tener valores distintos para estas variables.
Las variables de instancia también denominados miembros dato, son
declaradas en la clase pero sus valores son fijados y cambiados en el
objeto.
Además de las variables de instancia hay variables de clase, las cuales se
aplican a la clase y a todas sus instancias. Por ejemplo, el número de ruedas
de un automóvil es el mismo cuatro, para todos los automóviles
Instancia
Yo entiendo que la instancia de un objeto es cuando creamos un nuevo
objeto y le reservamos un espacio en la memoria:
Object obj = new Object ();
Se llama instancia a todo objeto que derive de algún otro. De esta forma,
todos los objetos son instancias de algún otro, menos la clase Object que es
la madre de todas.
Encapsulación:
Define el comportamiento de una clase u objeto que tiene dentro de él todo
tipo de métodos y datos pero que solo es accesible mediante el paso de
mensajes. Y los datos a través de los métodos del objeto/clase.
La modularidad
Es, en programación modular y más específicamente en programación
orientada a objetos, la propiedad que permite subdividir una aplicación en
partes más pequeñas (llamadas módulos), cada una de las cuales debe ser
tan independiente como sea posible de la aplicación en sí y de las restantes
partes.
Estos módulos que se puedan compilar por separado, pero que tienen
conexiones con otros módulos. Al igual que la encapsulación, los lenguajes
soportan la Modularidad de diversas formas. La modularidad debe seguir
los conceptos de acoplamiento y cohesión.
Jerarquía
Si estás creando un gran conjunto de clases, tendrá sentido que éstas hereen
de la jerarquía de clases y conformen una jerarquía por sí
mismas. Organizar clases de esta manera implica invertir un tiempo
considerable de planeación, pero las ventajas son las siguientes:
La funcionalidad que es común a múltiples clases se puede colocar en
superclases, lo que le permite ser utilizada repetidamente en todas las
clases inferiores de la jerarquía.
Los cambios en la superclase se reflejan automáticamente en todas sus
subclases, las subclases de éstas y así sucesivamente. No hay necesidad de
cambiar o recompilar cualquiera de las clases inferiores; reciben toda la
información a través de la herencia.
La generalización
Es la propiedad que permite compartir información entre dos entidades
evitando la redundancia.
En el comportamiento de objetos existen con frecuencia propiedades que
son comunes en diferentes objetos y esta propiedad se denomina
generalización.
La herencia
Permite definir nuevas clases a partir de otras clases ya existentes, de modo
que presentan las mismas características y comportamiento de éstas, así
como otras adicionales.
Cuando se crea un objeto nuevo, el lenguaje registra cada variable definida
para el objeto y cada variable definida para cada superclase del objeto. De
este modo, todo lo que contienen en las clases se combina para formar una
estructura descriptiva del objeto en uso y cada objeto aporta la información
apropiada para su situación.
Los métodos trabajan de manera parecida: los objetos nuevos tienen acceso
a todos los nombres de los métodos de su clase y superclase. Esto
determina de manera dinámica cuando se usa un método en un programa en
ejecución. Si se hace un llamado a un método en un objeto en particular, el
intérprete del lenguaje primero revisará la clase del objeto para este
método. Si no lo encuentra, lo busca en la superclase y así sucesivamente
hasta encontrar la definición del método.
Las cosas se complican cuando una subclase define un método que tiene el
mismo nombre, tipo de valor de retorno y argumentos que otro método
definido en una superclase. En este caso, la definición del método que se
localiza primero (comenzando por el fondo de la jerarquía y desplazándose
hacia arriba) es la que se ha empleado. En consecuencia, puede crear un
método en una clase que evite
que se use un método de una
superclase. Para hacerlo, crea
un método con el mismo
nombre, tipo de valor de
retorno y argumentos como el
método de la superclase. A
este proceso se le denomina
sobre posición.
Asociación
La asociación se podría definir como el momento en que dos objetos se
unen para trabajar juntos y así, alcanzar una meta.
Un punto a tomar muy en cuenta es que ambos objetos son independientes
entre sí, veremos un poco más adelante qué implicación tiene esto. Para
validar la asociación, la frase “Usa un”, debe tener sentido:
El ingeniero usa una computadora
El cliente usa tarjeta de crédito.
Polimorfismo:
Los objetos responden a los mensajes que se les envían. Un mismo mensaje
puede ser interpretado o dar paso a distintas acciones según que objeto es el
destinatario.
Con este sistema el emisor se desentiende de los detalles de la ejecución
(aunque el programador ha de saber en todo momento cuales son las
consecuencias de ese mensaje).
Constructor
Destructor
Publico:
Protegido