Está en la página 1de 10

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. CLASE PERSONA

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

CLASE ANIMAL

Clase Animal
idAnimal
nombre
raza
edad
Atributos sexo
Dormir
Comer
Ladrar
Metodos

CLASE CARRO

Clase Carro
marca
modelo
numeroLlantas
cilindraje
arrancar
frenar
Atributos

Metodos

CLASE PROFESOR

Clase Profesor
nombre
apellido
edad
genero
Atributos asignatura
enseñar
calificar

CLASE COMPUTADOR

Clase Computador
marca
procesador
memoria
monitor
Atributos teclado
mouse
procesar
almacenar
ejecutar
Métodos

Existen cuatro tipos de modificadores de acceso que son:

• Publico: se identifican con un +

• Privado: se identifican con un –, vale destacar que todos loa atributos


de una clase deben ser privados.

• Protegido: se identifican con #

• Default: no tiene identificación.

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
Persona
Subclase=hija
Nombre
Edad
genero
Existen dos clases
de herencia:

• Simple: Cuando hereda de una clase

Empleado Aprendiz
Nombre Nombre
Edad Edad
cargo curso
• 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:

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