Está en la página 1de 12

PROGRAMACIÓN ORIENTADA A OBJETOS

PILARES-CARACTERISTICAS

1. ABSTRACCION: Extracción de características más relevantes de


objetos del mundo real, es decir mira el mundo real y lo convierte a un
mundo software.

TOMAMOS DE LA REALIDAD:

• Identidad: Esta dado en sustantivos es decir nombres, en UML es


denominado clase.

• Características: Tiene un estado que esta dado por los valores de sus
características, en UML son denominados atributos.

• Comportamiento: Son dados por verbos es decir las acciones que realiza,
en UML son denominados métodos.

EJEMPLOS

1. TENEMOS LA CLASE PERSONA

Persona
idPersona
nombre
Clase apellido
edad
genero

Dormir
Correr
Comer
Saltar
Atributos

Métodos

Clase Animal
idAnimal
nombre
raza
edad
Atributos sexo
Dormir
Comer
Ladrar

Métodos

Clase Persona
idPersona
nombre
apellido
edad
Atributos genero
sexo
Dormir
Correr
Comer
Saltar
Métodos

Clase Persona
idPersona
nombre
apellido
edad
Atributos genero
sexo
Dormir
Correr
Comer
Saltar

Métodos

Clase Persona
idPersona
nombre
apellido
edad
Atributos genero
sexo
Dormir
Correr
Comer
Saltar

Métodos
Existen cuatro tipos de modificadores de acceso que son:

• Publico

• Privado

• Protegido

• Default

2. ENCAPSULAMIENTO: Los atributos de un objeto no deben ser visibles.

Para esto utilizamos los métodos:

• Get: Analizadores y retornan métodos, permiten recuperar el valor


de un atributo.

• Set: Modificadores y reciben métodos, y nos permiten cambiar el


valor de un atributo.

3. HERENCIA: Relación entre clases en donde una se identifica como


superclase y la otra como subclase.

Superclase=papa

Subclase=hija

Existen dos clases de herencia:

• Simple: Cuando hereda de una clase


Persona

Empleado Aprendiz

• Múltiple: Cuando hereda de varias clases.

Acuático
Reptil

Cocodrilo

4. POLIMORFISMO: Cuando dos clases heredan de su padre el mismo


método pero cada una de ellas la implementa de forma diferente.

Existen dos tipos de polimorfismo:

• SOBREESCRITURA: Cuando la clase hija sobrescribe el método


de la clase padre.

• SOBRECARGA: la sobrecarga generalmente se da dentro de la


misma clase cuando un método de esta es firmado o declarado
varias veces con diferentes tipos de datos y números de
argumentos o parámetros. Ej.:

APRENDIZ

Nombre
Apellido
Edad
Genero
Aprendiz(String nombre)
Aprendiz(String nombre, int edad)
Aprendiz(String genero)

La clase aprendiz declara dos veces el método aprendiz, la primera declaración


recibe un argumento de tipo String llamado nombre, la segunda declaración recibe
dos argumentos una llamado nombre y otro edad; al agregar la siguiente
declaración del método aprendiz String genero estaríamos duplicando la
declaración de la primera.

“la sobrecarga se da sobre la misma clase”

SINTAXIS

Persona
-idPersona
-Nombre
-Edad
-Genero
+Persona(double idPersona, String
nombre, int edad)
+Persona()
+Persona(double idPersona, String
nombre, int edad, String genero)
1. Declaramos la clase:

Public class Persona{

Private double idPersona;


Private String nombre;
Private int edad;
Private String genero;

2. Declaramos los métodos: hay cuatro tipos de métodos:

2.1. Constructor: se denomina igual que la clase y no tiene retorno,


sirven para inicializar los atributos; es lo primero que se ejecuta
cuando se instancia una clase, estos pueden ser sobrecargados.
2.2. Analizadores: Get
2.3. Modificadores: Set
2.4. Propios de la Clase

METODO CONSTRUCTOR:

Public Persona (double idPersona, String nombre, int edad){

setIdPersona(idPersona);
setNombre(nombre);
setEdad(edad);
}

Public Persona (){}


Public Persona (double idPersona, String nombre, int edad, String
genero){

setIdPersona(idPersona);
setNombre(nombre);
setEdad(edad);
setGenero(genero);

METODO SET: Existen dos reglas de negocio en este caso


que son: edad<55 y genero “F” o “M”.

Public void setGenero(String valor){

if(valor.equals("F") || valor.equals("M"))
{
this.genero=valor;
}
else
{
System.out.println("el genero debe ser F o M");
}
}

public void setEdad(int valor){


if(valor<55)
{
this.edad=valor;
}
else
{
System.out.println("la edad debe ser menor a 55");
}
}

public void setIdPersona(double valor){


this.idPersona=valor;
}

public void setNombre(String valor){


this.nombre=valor;
}

METODO GET:

public double getIdPersona(){


return this.idPersona;
}

public String getNombre(){


return this.nombre;
}

public int getEdad(){


return this.edad;
}

public String getGenero(){


return this.genero;
}
3. INICIAMOS CON LA CODIFICACION DE TestPersona EL CUAL INCLUYE AL
METODO PRINCIPAL:

• METODO PRINCIPAL:

Public static void main(String[]args)

Public = siempre es publico


Static = general para todos los objetos de esa clase.
Void = no retorna.
Main = principal

public class TestPersona{

public static void main(String[]arreglo){

Persona p=new Persona();


Persona p1=new Persona(22,"Marcos",54);
Persona p2=new Persona(21,"Lucia",55,"F");

System.out.println(p1.getIdPersona()+" "+p1.getNombre()+"
"+p1.getEdad());
System.out.println(p2.getIdPersona()+" "+p2.getNombre()+"
"+p2.getEdad()+" "+p2.getGenero());
}
}

También podría gustarte