Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

PROGRAMACION ORIENTADA A OBJETOS

No description
by

Gabriel Chaldu

on 7 November 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of PROGRAMACION ORIENTADA A OBJETOS

Características Generales de Objetos
CLASE
La clase es una colección de objetos
que
comparten
una
estructura
y
comportamiento
común.
Todo objeto o instancia, pertenece a alguna clase.
Un objeto es una entidad concreta que existe en el tiempo y en el espacio,
una clase representa solo una abstracción
.
ATRIBUTO
sintaxis algorítmica es:

class <Identificador de la Clase>
{
private: "Atributos"
..........
public: "Metodos"
..........
}
Son los datos o variables que caracterizan al objeto y cuyos valores en un momento dado indican su estado.
martes, Noviembre 7, 2016
Tecnicatura Superior en Programación
OBJETO
Publico:
Atributos (o Métodos):
son accesibles
fuera de la clase. Pueden ser llamados
por cualquier clase
, aun si no esta relacionada con ella. Este modo de acceso se puede representar con el símbolo
+

Privado:
Atributos (o Métodos):
son accesibles

dentro de la
implementación de la
clase
. Se puede representar con el símbolo


Protegido:
Atributos (o Métodos)
son accesibles

para la propia clase y sus clases hijas
(subclases). Se puede representar con el símbolo
#

PROGRAMACION ORIENTADA A OBJETOS
La POO, es una
nueva manera

de pensar
y resolver
un sistema
. Ya no se subdividen tareas complejas en un conjunto de tareas simples.
Una entidad (tangible o intangible) que posee
propiedades
y
acciones
que realiza por sí solo o interactuando con otros objetos.
Miremos a nuestro alrededor, que tenemos?
Una silla, un pizarrón, un escritorio, una notebook, un cañón de proyección, etc… ¡son todos objetos! Cada uno cumple una función específica y nos permiten interactuar con ellos por medio de formas conocidas (los métodos) modificando su estado (sus atributos).

Si llevamos esto a la programación, nuestros sistemas se parecerán más al mundo real, posibilitando un mejor entendimiento de los mismos.

Informalmente, un objeto representa una entidad del mundo real.

Entidades Físicas:
Vehículo, Casa, Producto.

Entidades Conceptuales:
Proceso químico, transacción bancaria.

Entidades de software:
Lista enlazada, Interfaz gráfica.
Los métodos constituyen la secuencia de acciones que implementan las operaciones sobre los objetos. La implementación de los métodos no es visible fuera de objeto.
METODO
RELACION ENTRE CLASE Y OBJETO
Algorítmicamente, las clases son descripciones netamente estáticas o plantillas que describen objetos. Su rol es definir nuevos tipos conformados por atributos y operaciones.

La declaración de una variable de una clase NO crea el objeto.
class Auto
{
private:
int patente;
char marca[20];
char color[20];
public:

Auto();
Auto(int p, char m[], char c[]...);

void
set
Patente(int p);
int
get
Patente();
void
set
Marca(char m[]);
char *
get
Marca();
void
set
Color(char c[]);
char *
get
Color();
}

Se identifica por nombre único que lo diferencia de los demás.
CARACTERISTICAS DE LAS CLASES
Una clase es un nivel de abstracción alto
, permite describir un conjunto de características comunes para los objetos que representa.

Un atributo es una característica de un objeto.
Un atributo consta de un nombre y un valor. Cada atributo está asociado a un tipo de dato, que puede ser simple (entero, real, lógico, carácter, string, objeto) o estructurado (arreglo, registro, archivo, lista, etc.)

LOS MODOS DE ACCESO SON:
III.RELACION ENTRE CLASES

La idea de las clases es que se puedan relacionar entre sí de manera que puedan compartir atributos y métodos sin necesidad de escribirlos.
Relacion por Herencia.
Mediante la herencia las instancias de una clase hija (o subclase) pueden acceder tanto a los atributos como a los métodos públicos y protegidos de la clase padre (o superclase).
Creacion de Objetos y metodos constructores
CARACTERISTICAS GENERALES DE UN METODO
Cada método tiene un nombre, cero o más
parámetros
(por valor o por referencia) que recibe o devuelve y un algoritmo con el desarrollo del mismo.

En particular se destaca el método
constructor
,
que no es más que el método que
se ejecuta cuando el objeto es creado.

Este
constructor
suele tener el
mismo nombre que la clase/objeto,
se puede definir
más de un método constructor
, que normalmente
se diferencian entre sí por la cantidad de parámetros
que reciben.

Los métodos se ejecutan cuando el objeto recibe un mensaje, enviado por un objeto o clase externo al que lo contiene, o por el mismo objeto de manera local.

Cada objeto o instancia de una clase debe ser creada explícitamente a través de un método u operación especial denominado
CONSTRUCTOR
, Por convención el método constructor tiene el mismo nombre de la clase y no se le asocia un modo de acceso (
es público
).
SINTAXIS:
public nombreDeLaClase()
{
........
}

Jueves, Noviembre 3, 2016
Tecnicatura Superior en Programación
PROGRAMACION ORIENTADA A OBJETOS
PAG 2
PAG 1
Relación de Agregación
Es una relación que representa a los objetos compuestos por otros objetos. Indica Objetos que a su vez están formados por otros. El objeto en el nivel superior de la jerarquía es el todo y los que están en los niveles inferiores son sus partes o componentes.
I.Aspectos básicos
Metodos de Destructores de Objetos
Los objetos que ya no son utilizados en un programa, ocupan inútilmente espacio de memoria, que es conveniente recuperar en un momento dado, al utilizar lenguajes de programación debemos conocer los métodos destructores suministrados por el lenguaje y utilizarlos.




II.REPRESENTACIÓN EN NOTACIÓN ALGORÍTMICA DE UNA CLASE
Cada una de las declaraciones de clase debe tener el siguiente formato:

class Pila
{
private:
int valores[50];
int cantidad;

public:

Pila();

void inicpila();
void apilar(int dato);
int desapilar();
bool pilavacia();
void mostrar();
int tope();
void leer ();
void cargarMuchos();
void pasar(Pila *otra);
};
Relación de Composición
Es la relación entre un elemento muy esencial a tal punto que si desaparece el elemento desaparece de igual forma la clase.
RELACION ENTRE CLASES
Relación por Asociación
Se da cuando
una clase utiliza atributos o métodos de la otra
, se presenta una interdependencia pero no necesariamente una es padre y otra hija, ambas pueden ser del mismo tipo.

La representación gráfica de una o varias clases se hará mediante los denominados Diagramas de Clase

Para los diagramas de clase se utilizará la notación que provee el
Lenguaje de Modelación Unificado
:

Las clases se denotan como rectángulos divididos en tres partes. La primera contiene el nombre de la clase, la segunda contiene los atributos y la tercera los métodos.
Los modificadores de acceso a datos y operaciones, a saber: público, protegido y privado; se representan con los símbolos +, # y – respectivamente, al lado derecho del atributo. (+ público, # protegido, - privado).
V.FUNDAMENTOS DEL ENFOQUE ORIENTADO A OBJETO
Jueves, Noviembre 3, 2016
Tecnicatura Superior en Programación
PROGRAMACION ORIENTADA A OBJETOS
PAG 3
IV.DIAGRAMAS DE CLASE
EJEMPLO:
En la figura se muestra el método “color” que no tiene ningún parámetro y retorna un valor entero y el método
“modificar_tamaño” que tiene un real como parámetro y no retorna nada (es una acción).
La POO se apoya teoricamente en 5 principios son la base de este paradigma. Estos principios son: la Abstracción, el Encapsulamiento, la Modularidad, la Herencia y el Polimorfismo.
Fundamento 1:
Abstracción
Es el conocimiento que se tiene de una cosa prescindiendo de las demás que están con ella.
La abstracción localiza y oculta detalles de un modelo o diseño para generar y manipular objetos.
Conocemos un objeto viéndolo, sabemos qué es sin necesidad de ver su interior, su implementación o su forma de construcción.
Fundamento 3:
Modularidad
La modularidad consiste en dividir un programa en módulos o partes, que pueden ser compilados separadamente, pero que tienen conexiones con otros módulos.
Atributos
Constructores de la clase.
Métodos
Atributos
Métodos
Constructor
Pila::Pila()
{
inicpila();
};

int main()
{
Pila p;
Pila q;
p.cargarMuchos();
p.mostrar();
while(!p.pilavacia())
{
q.apilar(p.desapilar());
}
q.mostrar();
}
bool Pila::pilavacia()
{
bool rta = false;
if (cantidad==0)
rta=true;
return rta;
};
Fundamento 2:
Encapsulamiento
(Ocultamiento de Información)
Es la propiedad del que permite ocultar al mundo exterior la representación interna del objeto. El objeto puede ser utilizado, pero los datos esenciales del mismo no son conocidos fuera de él.
La idea central del encapsulamiento es esconder los detalles y mostrar lo relevante.(La especificación es visible al usuario, mientras que la implementación se le oculta.)
Fundamento 4:
Herencia
Es el proceso mediante el cual un objeto de una clase adquiere propiedades definidas en otra clase que lo preceda en una jerarquía de clasificaciones.
La herencia puede ser simple (cada clase tiene sólo una superclase) o múltiple (cada clase puede tener asociada varias superclases).
Fundamento 5:
Polimorfismo
Permite que un método tenga múltiples implementaciones.
El polimorfismo operacional o Sobrecarga operacional permite aplicar operaciones con igual nombre a diferentes clases o están relacionados en términos de inclusión.
Los métodos set asignan valores a las propiedades.
Prof. Gabriel Chaldu
Prof. Gustavo Sonvico
Programación Orientada a Objetos
Un programa no es otra cosas que un conjunto de entidades u objetos que se comunican y colaboran entre sí para lograr un objetivo común.
¿Qué es la POO?
Esta entidad encapsula datos
(atributos)
y funciones que las manejan
(métodos)
Un objeto se define como una instancia o particularización de una clase.
Posee estados. (El estado serán uno o varios atributos a los que se habrán asignado unos valores concretos (datos))
Tiene métodos
Posee un conjunto de atributos.
Soportan encapsulamiento.
Tiene un tiempo de vida dentro del programa o sistema que lo crea y utiliza.
Un objeto:
Un objeto es una instancia de una clase
. Cada objeto concreto dentro de un sistema es miembro de una clase específica y tiene el conjunto de atributos y métodos especificados en la misma
Las clases se relacionan entre sí mediante una jerarquía
. Entre las clases se establecen diferentes tipos de relaciones de
herencia
, en las cuales
la clase hija (subclase) hereda los atributos y métodos de la clase padre (superclase)
Los nombres o identificadores de las clases deben colocarse en singular
(clase Animal, clase Auto, clase Alumno).
Los métodos get retornan los valores de las propiedades.
void Pila::inicpila()
{
cantidad =0;
};
void Pila::cargarMuchos()
{
char c='s';
while(c=='s')
{
leer();
printf("\ndesea continuar?:");
fflush(stdin);
scanf("%c", &c);
}
};
void Pila::apilar(int dato)
{
valores[cantidad]=dato;
cantidad++;
};
int Pila::desapilar()
{
int tope = valores[cantidad - 1];
cantidad--;
return tope;
};
void Pila::leer ()
{
int aux = 0;
if (cantidad < 50)
{
printf("Ingrese un valor entero: ");
fflush(stdin);
scanf("%d", &aux);
apilar(aux);
}
else
printf("Error: la pila esta llena");
};
Full transcript