Es un paradigma de programación que
usa los objetos en sus interacciones,
para diseñar aplicaciones y programas
informáticos.
Lenguajes de
POO
C#
ActionScript
C++
Clarion
Object
Pascal
Java
Pascal
Visual
Basic 6.0
PHP
Oz
JavaScript
Python
Conceptos
Fundamentales.
Objeto
Entidad provista de propiedades o atributos y de
comportamiento o métodos. Instancia de una clase.
Clase
Las clases son los modelos sobre los cuáles se
construirán los objetos, definiendoles propiedades
y comportamiento.
Método
Es lo que el objeto puede hacer. Un método puede
producir un cambio en las propiedades del objeto o
generar un evento nuevo, para otro objeto.
Atributos
Una comunicación dirigida a un
objeto, que le ordena que ejecute
uno de sus métodos.
Identificación
de un objeto
Un objeto se representa por medio de una tabla o
entidad que esté compuesta por sus atributos y
funciones correspondientes.
Propiedad
Contenedor de un tipo de datos, que hace los datos visibles y
define sus características predeterminadas, y cuyo valor
puede ser alterado por un método.
Componentes
de un objeto
Atributos, identidad, relaciones y
métodos.
Estado Interno
Es una variable que se declara privada, puede ser únicamente accedida y
alterada por un método del objeto, y se utiliza para indicar distintas
situaciones posibles para el objeto. No es visible al programador que maneja
una instancia de la clase.
Herencia
Es la facilidad mediante la cual una clase hereda
en ella cada uno de los atributos y operaciones de
otra clase.
Evento
Es un suceso en el sistema. También se puede definir
como evento la reacción que puede desencadenar un
objeto.
Mensaje
forma en que los
objetos interactúan
y se comunican en
un sistema de
software
Concurrencia
Permite que
distintos objetos
actúen al mismo
tiempo, usando
diferentes hilos
de control
Es la propiedad que diferencia a los
objetos entre estar activos o no.
Cohesición
Nos indica el grado
de relación
existente entre los
distintos
elementos de una
clase
Acoplamiento
Es la forma y nivel de
interdependencia entre
módulos de software
Características
Abstracción
Consiste en abstraer o captar las características esenciales de un objeto, así
como su comportamiento. Las clases es la representación y el mecanismo
por el cual se gestionan las abstracciones.
Encapsulamiento
Consiste en unir en la clase las características y comportamientos. Es tener todo
esto es una sola entidad. Selogra gracias a la abstracción y el ocultamiento
Principio de ocultación
Es la capacidad de ocultar los detalles internos del comportamiento de una
clase y exponer sólo los detalles que sean necesarios para el resto del sistema.
Modularidad
Es la propiedad que permite subdividir una aplicación en módulos o
partes pequeñas, cada una debe ser tan independiente como sea posible
de la aplicación y de las demás partes.
Polimorfismo
Es la propiedad por
la que es posible
enviar mensajes
sintácticamente
iguales a objetos
de tipos distintos.
El único requisito que
deben cumplir los
objetos que se utilizan
de manera polimórfica
es saber responder al
mensaje que se les
envía.
Herencia
Las clases se relacionan formando una jerarquía, Los objetos heredan las
propiedades y el comportamiento de todas las clases a las que pertenecen. La
herencia organiza y facilita el polimorfismo y el encapsulamiento.
HERENCIA SIMPLE
Es cuando una clase solo hereda
propiedades y métodos de una clase
padre
HERENCIA MÚLTIPLE
es cuando una clase hereda propiedades y
métodos de más de una clase padre
Recolección de basura.
Es la técnica que se
encarga de destruir
automáticamente, los
objetos que hayan
quedado sin ninguna
referencia a ellos o sin
usarse.
Clase base
clase cuyos
miembros se
heredan
Clase derivada
clase cuyos
miembros se
heredan
Reservadas
This
se utiliza para hacer
referencia al objeto
"actual".
Super
Se utiliza para acceder a los atributos y métodos de
las clases padre o superclases desde una instancia
o método de la subclase
Persistencia
especificación que indica cómo se debe
realizar la persistencia
(almacenamiento) de los objetos
Clases Abstractas
Puede heredar o extender
cualquier clase
Interfaz
Solamente puede extender o implementar otras
interfaces.
Reutilización
Permite escribir código una
sola vez y usarlo en
diferentes partes de un
programa.
Métodos
de
Acceso
Public
Acceso total.
Private
Acceso
únicamente
desde la clase o
struct que los
contiene.
Internal
Acceso desde el mismo
proyecto o ensamblado.
Protect
Acceso desde la misma clase o
desde las clases que heredan