El documento describe los conceptos básicos de la programación orientada a objetos como clases, objetos, atributos, métodos, herencia, polimorfismo, entre otros. Explica que una clase define el tipo de objetos que puede crear y los objetos son instancias concretas de una clase. También cubre temas como constructores, destructores, punteros, arrays y la diferencia entre clases y objetos.
1. COLEGIO FISCAL TÉCNICO
“YARUQUÍ”
NOMBRE: Karen Mendoza
ASIGNATURA:Diseño y Realizacion
CURSO:Tercer Año de Bachillerato
LICENCIADO:Fabian Quilumba
La fuerza no proviene de la
capacidad física sino de la voluntad
indomable
2. Clase es una construcción que se
utiliza como un modelo para
crear objetos
representa un sustantivo, como
una persona, lugar o cosa.
agrupa los posibles
estados y define el
comportamiento del
concepto que
representa.
conjunto coherente que tiene
un tipos particulares de datos
tiene una interfaz y
una estructura.
una clase es el tipo más específico
de un objeto en relación con una
capa específica.
Atributos
Métodos
Eventos
3. Sirve para
identificar a todos
los objetos que
tengan unas
determinadas
características.
Nombre de la
clase.
Conjunto de
atributos
Datos miembro. El
valor de los
atributos
representan el
estado de cada
objeto.
Conjunto de
métodos.
Funciones
miembro. Permite
que los objetos
cambien de
estado, dependiend
o del estado
anterior que
tuviera el
objeto.
Niveles de acceso
para proteger
ciertos miembros de
la clase.
Normalmente, se
definirán como
ocultos (privados)
los atributos y
visibles (públicos)
los métodos
Características fundamentales
4. Construcción de una
clase
class <nombre_de_la clase>
{
private:
<lista miembros privados (atributos y métodos)>
public:
<lista miembros públicos (atributos y métodos)>
} ;
class <nombre_de_la clase>
{
<cuerpo de la clase>
} ;
Especificadores
de acceso
La definición de una clase es
sintácticamente similar a una
estructura
(struct)
Paplabra Cave
Class
5. Objeto
Estos datos se agrupan de
acuerdo a las características
principales del mundo real de
estos elementos
(tamaño, color, etc.)
puede ser
creado instanciando una
clase
mediante escritura
directa de código y la
replicación otros objetos
es la creación de
una
representación, en
forma de objetos
o entidades
ejem: alguno de los objetos que
pertenecen al negocio con que
estamos trabajando o al problema
con el que estamos enfrentando, y
con los que podemos interactuar.
Tienen 3
Características
Identidad Comportamiento Estado
Propiedades
Métodos
Encapsulación
Ocultación de la
información
6. Diferencia entre Clase y
Objeto
Una clase es un tipo y un
objeto es una instancia de
este tipo
Una clase es un concepto
estático mientras que el
objeto es un concepto
dinámico
e s t r u c t u ra s a s o c i a d a s a
o b j e t o s
Están asociadas con la vida diaria
cantidad de objetos con los que
queramos asociar
Con las características internas y
externas
se trata de identificar los tipos de
objeto más que los objetos individuales
en un sistema
cantidad de objetos con los que
queramos asociar
permite a los programadores
escribir software,
esté organizado en la misma
manera que el problema que
trata de modelisar
estructura los datos en objetos que
pueden almacenar, manipular y
combinar información
La
POO
Los lenguajes de programación
convencionales son poco más que
una lista de acciones a realizar
sobre un conjunto de datos
Proporciona
l
a
s
7. Ventajas
Que son
Las siguientes
Uniformidad
Comprensión
Flexibilidad
Estabilidad
Reusabilidad
Objetos y Tipos de
Objetos
Se trata de identificar los
tipos de objeto más que
los objetos individuales
en un sistema
se definen en base
a la comprensión
del analista de
nuestro mundo.
Este objeto puede tener
varias formas.
Jerarquías de
Generalización
Una de las vías de sentido común por
las que el hombre organiza su
volumen de conocimiento es el de las
jerarquía
se habla de subtipo o
especialización de un
súper tipo o
generalización
En el caso anterior, persona es
el súper tipo para Empleado y
Estudiante, que son sus
subtipos.
Ejmplo:
8. Un objeto se denomina
complejo si está formado
por otros. Las jerarquías
Compuestas permiten
realizar agregaciones de
objetos.
Constructores
Son unos métodos
especiales que se
ejecutan
automáticamente al
crear un objeto de la
claseEn su declaración no se
especifica el tipo de dato
que devuelven, y poseen el
mismo nombre que la clase
a la que pertenecen.
a la hora de implementar
un constructor, justo
después de la declaración
de los parámetros
Su objetivo es llamar a los
constructores de los atributos que
conforman el objeto a construir.
Tipos de
constructores
Constructor
predeterminado
Constructor de copia
Destructores
son funciones miembro especiales llamadas automáticamente
en la ejecución del programa, y por tanto no tienen por qué ser
llamadas explícitamente por el programado
Liberar los recursos computacionales que el objeto de dicha
clase haya adquirido en tiempo de ejecución al expirar éste.
Quitar los vínculos que
pudiesen tener otros
9. Arrays
es un conjunto de datos del
mismo tipo ordenados en
forman lineal uno después de
otro
son usados extensamente
por los programadores para
contener listas de datos en
la memoria,
los datos almacenados en un disco suelen leerse y
ponerse dentro de un array con el objetivo de facilitar
la manipulación de dichos datos, ya que los datos en
memoria pueden ser modificados, clasificados,
marcados para su eliminación, etc.
Índice de un array
son números que se utilizan
para identificar a cada uno de
los componentes de un array
a la forma en que se
construye o declara un
array, éste puede ser
clasificado
de
acuerdo
UNIDIMENSIONAL
es aquel en donde los componentes son
accesibles por medio de uno y solamente un
índice que apunte al componente requerido
BIDIMENSINAL
es aquel en donde los componentes son
accesibles por medio de una pareja de índices
que apunten a la fila y a la columna del
componente requerido.
10. Punteros
Permite que las funciones cambien
el valor de sus argumentos
Permite pasar vectores
de forma eficiente entre
funciones: en lugar de
copiar cada elemento
del vector, se copia la
dirección del primer
elemento.
El concepto de puntero esta
unido a la forma en que los
tipos de datos son almacenados
en la memoria de un ordenador
ya que denotan la
dirección de una variable
determinada.
El nombre de la variable
determina el tipo (char, int, float o
double) y su direccion determina
donde esta almacenada.
int *puntero1;
int *puntero2, *puntero3;
char variable, *puntero Carácter;
float *puntero Real, real;
11. Herencia
es, después de la agregación o
composición, el mecanismo
más utilizado para alcanzar
algunos de los objetivos
más preciados en el desarrollo
de software como lo son la
reutilización y la extensibilidad
facilita la creación de
objetos a partir de
otros ya existentes e
implica que una
subclase obtiene todo
el comportamiento
y eventualmente los atributos
(variables) de su superclase.
permite definir clases (subclases) a
partir de otra clase
más genérica (superclase).
Subclase
unasubclase reúne todas la
propiedades de la
superclase, además
de las suyas propias.
se ha utilizado solamente
para heredar los miembros
de una clase base
también existe la posibilidad de que un
método de una clase derivada se llame
como método de la clase base pero tenga
un funcionamiento diferente.
pero Es una propiedad que
permite que los objetos
sean creados a partir de
otros ya existentes
es especifica de la OOP,
donde una clase nueva
se crea a partir de una
clase existente.
se refiere a que podemos
“heredar” una clase mas
general, a otra menos general.
Nuestra clase Vehículo es una clase
general, debido a que existen varios
tipos de vehículo, como autos, motos,
camionetas, etc.
ejem
12. ORDEN DE EJECUCIÓN
DE LOS
CONSTRUCTORES CON
HERENCIA
Cuando tenemos constructores
en las clases y subclases el orden
de ejecución seria:
Primero se ejecuta el
constructor de la clase
padre.
Y después se ejecuta el
constructor de la subclase.
EL DIAGRAMA UML NOS
AYUDARÁ A COMPRENDER
MEJOR LA HERENCIA Y
ESTRUCTURA DE ESTAS
CLASES
Como puede observar el
programador, utiliza la propiedad
“operador” cuya definición
pertenece a la clase base.
Sin embargo, como la clase
“operación Factorial "que seria el
de abajo hereda todos los
atributos y métodos de la clase
básica.
13. Polimorfismo
El polimorfismo se refiere a la
posibilidad de enviar un mensaje
a un grupo de objetos cuya
naturaleza puedes ser
heterogénea.
El único requisito que debe
cumplir los objetos que se
utilizan de manera polimórfica
es saber responder al mensaje
que se les envía.
El código puede ser muy
diferente dependiendo del
lenguaje que se utilice.
Las primeras son aquellas
funciones que pueden
evaluarse y ser aplicadas a
diferentes tipos de datos de
formas indistintas.
Pueden aplicar tanto
a funciones como
tipo de datos , así
nacen los conceptos
de funciones
polimórficas y tipos
polimórficos .
Los tipos polimórficos son
aquellos tipos de datos que
contienen al menos un
elemento cuyo tipo no esta
especificado.
Clasificación
Polimorfismo Dinámico
Es aquel en el que el código no
incluye ningún tipo de
especificación sobre el tipo de datos
sobre el que se trabaja. Así puede
ser utilizado a todo tipo de datos
compatible.
Polimorfismo Estático
Es aquel en el que los tipos a los que
se aplica el polimorfismo deben ser
explícitos y declarados uno por uno
antes de ser declarados.
Es la capacidad para
definir varias funciones
utilizando el mismo
nombre pero usando
parámetros diferentes .
Así, puede ser utilizado
a todo tipo de datos
compatible.
También este
selecciona
automáticamente el
método correcto a
aplicar en función del
tipo de datos basados
en el parámetro.
14. Es la propiedad que
tienen los objetos cuya
implementación es
delegada al objeto
También el polimorfismo
estático esta basada en
programación orientada a
objetos es la capacidad
que tienen los objetos de
una clase
Por ejemplo:
Es la forma de
responder a
una misma clase
al mismo tiempo
en ejecución
además
contienen
valores
diferentes.
Un objeto
polimórfico
también puede
contener
valores de
diferentes tipos
durante la
ejecución del
programa.
Que responde al mensaje o
evento en función de los
parámetros utilizados
durante su ejecución
Polimorfismo métodos
virtuales
El polimorfismo indica
que una variable pasada
o esperada puede
adoptar múltiples
formas.
Cuando se habla de
polimorfismo en
programación
orientada a objetos
se suelen entender
dos cosas:
La primera se refiere a que
se puede trabajar con un
objeto de una clase sin
importar de qué clase se
trata.
Los únicos métodos que no pueden ser
declarados como virtuales son los
constructores, los métodos estáticos, y
los operadores new y delete.
La segunda suele referirse a la posibilidad de
declarar métodos con el mismo nombre que
pueden tener diferentes argumentos dentro
de una misma clase.
15. Funciones
virtuales
Las funciones virtuales
permiten que clases
derivadas de una misma
base (clases hermanas)
puedan tener diferentes
versiones de un método.
Virtual
Palabra clave
utiliza para ella una
técnica especial,
enlazado retrasado.
LinkerLa declaración de virtual en un método
de una clase, implica que esta es
polimórfica, y que probablemente no
se utilizará directamente para
instanciar objetos, sino como super-
clase de una jerarquía.
16. Programación
Bajo Windows
Programación orientada a
eventos
en contraste con la
programación
para MS-DOS, que es
secuencial.
*Evento: Algo que sucede
en el
sistema (click de ratón
movimiento de
ratón pulsación de una
tecla, etc.)
Windows convierte estos
eventos
en mensajes (añaden
información
a los eventos).
Ej cuando se hace click
con el ratón, el mensaje
incluye las
coordenadas, la ventana
sobre la que
se pulsó, etc.
Windows pasa el mensaje
a la
parte interesada (ej. la
ventana
sobre la que se hizo
click).
La
aplicación puede obviar
*El mensaje, o puede
tener código
que la haga reaccionar.
Interfaz
conocida también
como GUI (del inglés graphical
user interface)
es un programa
informático que actúa
de interfaz de usuario,
utilizando un conjunto de imágenes
y objetos gráficos para representar la
información y acciones disponibles en
la interfaz
Su principal uso, consiste en proporcionar un
entorno visual sencillo para permitir la
comunicación con el sistema operativo de una
máquina o computador.
Se conoce como
interfaz al medio que
permite a una
persona comunicarse
con una máquina.
17. Tipos de Interfaz
Dentro de los
interfaces de usuario
podemos distinguir a
básicamente tres tipos
INTERFAZ DE
HARDWARE
Son utilizados para
ingresar, procesar
y entregar los datos
Teclado
Ratón
Pantalla visualizadora
INTERFAZ DE
SOFTWARE
Entregan información
acerca de los procesos
y herramientas
de control
INTERFAZ DE
SOFTWARE-HARDWARE:
Establece un puente
entre la maquina y las personas .
Permite a la maquina entender
la instrucción y a una
persona entender
el código binario
traducido a información
legible
Funciones
Principales
Puesta en marcha y apagadas
Control de las funciones manipulables del
equipo
Manipulación de archivos y directorios
Herramientas de desarrollo de aplicaciones
Comunicación con otros sistemas
Información de estado
Intercambio de datos entre aplicaciones
18. Facilidad de comprensión,
aprendizaje y uso
Representación fija y permanente
de un determinado contexto
de acción (fondo).
El objeto de interés ha de ser de
fácil identificación .
Diseño ergonómico mediante el
establecimiento de menús, barras
de acciones e iconos de fácil acceso.
Las operaciones serán rápidas,
incrementales y reversibles,
con efectos inmediatos.
Las interacciones se basarán en
acciones físicas sobre elementos de código
visual o auditivo (iconos, botones,
imágenes, de texto o sonoros, barras
de desplazamiento y navegación...)
y en selecciones
de tipo menú con sintaxis y órdenes.
Existencia de herramientas de
Ayuda y Consulta .