Post on 21-Jul-2015
COLEGIO FISCAL TÉCNICO “YARUQUÍ”
NOMBRE: Karen MendozaASIGNATURA:Diseño y RealizacionCURSO:Tercer Año de BachilleratoLICENCIADO:Fabian Quilumba
La fuerza no proviene de la capacidad física sino de la voluntad indomable
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
Sirve para identificar a todos los objetos quetengan unas determinadas características.
Nombre de la clase.
Conjunto de atributos
Datos miembro. El valor de los atributosrepresentan el estado de cada objeto.
Conjunto de métodos.
Funciones miembro. Permite que los objetoscambien de estado, dependiendo del estado anterior que tuviera elobjeto.
Niveles de acceso
para proteger ciertos miembros de la clase.Normalmente, se definirán como ocultos (privados) los atributos yvisibles (públicos) los métodos
Características fundamentales
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>} ;
Especificadoresde acceso
La definición de una clase es sintácticamente similar a una estructura(struct)
Paplabra Cave
Class
ObjetoEstos 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
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 r a 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
las
Ventajas
Que sonLas 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:
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 recursos u objetos con éste.
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.
PunterosPermite 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;
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 clasemás genérica (superclase).
Subclaseunasubclase reúne todas la
propiedades de la superclase, ademásde 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
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.
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ámicoEs 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.
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.
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.
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).
Laaplicació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.
Tipos de Interfaz
Dentro de los interfaces de usuario podemos distinguir a
básicamente tres tipos
INTERFAZ DE HARDWARESon utilizados para ingresar, procesar
y entregar los datosTecladoRatón
Pantalla visualizadora
INTERFAZ DE SOFTWARE
Entregan informaciónacerca 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 unapersona entenderel código binario
traducido a información
legible
Funciones Principales
Puesta en marcha y apagadasControl de las funciones manipulables delequipo
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
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 elestablecimiento 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 .