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

Objetos con Java

No description
by

Dario Vallejos

on 30 July 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Objetos con Java

Programación Orientada a Objetos
La programación OO trata de reducir el gap que existe entre la vida real y la programación para esto utiliza el concepto de los objetos
Bases de la OO
Encapsulamiento :Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados de un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones
Herencia : Los objetos posibilidad de extender su funcionalidad utilizando este mecanismo asi como restringir su tipo, se utiliza para la reutilizacion de funcionalidad de objetos heredados
Abstracción : La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, eltérmino se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (característica de caja negra)
Polimorfismo : se refiere a la posibilidad de enviar un mensaje a un grupo de objetos cuya naturaleza puede ser heterogénea. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía
Clase en java
Todas las clases en java heredan de la clase java.lang.Object
Que es una clase ?
Es una plantilla de objetos

public

class
Persona {
private String nombre;
private String dni;
private int edad;

public Persona(){
//constructor
}

public String comer(){
return "comiendo";
}


}
modificador de acceso
palabra reservada
atributos
constructor
método
Que son los Objetos
Son instancias de clases en java para generar una instancia se utiliza la palabra reservada "new"
Herencia
Mecanismo de extensión y de reutilización de código
public class Casa {

public static void main(String[] args){


Persona p = new Persona();
String accion = p.comer();
System.out.println(accion);

}

}
crea objeto
llama al metodo comer()
Herencia
public class Docente
extend
Persona {

private String Cargo;
pirvate int horasTrabajadas;

public Docente() {
//constructor
}

}
Se utiliza la palabra reservada "extend" para heredar comportamiento y atributos

Solamente se heredan atributos y metodos con los modificadors de acceso ,public , protected, default(sin modificador)
Modificadores de acceso
private
public

protected
default (sin modificado)
Sobre escritura y Sobre carga
final
final es una palabra reservada que se utiliza para hacer constante un valor primitivo o atributo de clase además termina la herencia en una clase o no permite la sobre escritura en un método
public String comer(){
return "comiendo"
}
public String comer(){
return "docente"+super.comer()
}
Class Persona .......
clase Docente ...
public String comer( string comida){
return super.comer()+comida
}
sobre escritura
clase Docente
sobre carga .....
public
final
class Persona
public
final
void comer()
private
final
int dni = 35643
Clases y métodos Abstractos
Las clases abstractas no pueden instanciarce , se las utiliza para generalizar funcionalidad , el método abstracto obliga a la sobre escritura del mismo en ambos casos se utiliza la palabra reservada "abstract"
La interfaces son contratos que deben cumplir las clases que las implementan
Las clases para implementar una interfase utilizan la palabra reservada "implements"
Las clases puede implementar muchas interfaces
Las interfaces me dicen que se hace y no como.
Interfaces
Instanceof
Es un operador que sirve para determinar si un objeto es instancia de una clase determinada
Composición y asociación
Clase Anonima
Es una clase que se declara a partir de una interfase y sirve para ahorra espacio y tiempo.
La declaración de la clase e instanciación de su objeto se hacen en el mismo lugar
public abstract class Shape {
public abstract double calculateArea();
public abstract boolean display();
}
public class Rectangle extend Shape{
public double calculateArea(){
return high * wight ;
}
public boolean display(){
System.out.println("Rectangle");
return true;

}
}
las clases abstractas pueden tener todos sus métodos concretos además si al menos un método es abstracto la clase debe ser abstracta
public class Inmueble{
private Persona[] propietarios;
public Persona[] getPropietarios(){
return propietarios;
}
}
public class Vehiculo {
private Motor motor;
............
}
public class Motor{
private Cilindro cilindro;
private Carburador carburador;
}
public static void main(String arg[]){
Vehiculo[] vehiculos = new Vehiculo[3];
vehiculos[0] = new Moto();
vehiculos[1] = new Coche();
vehiculos[2] = new Camion();
for(Vehiculo v : vehiculos){
if(v instaceof Coche){
Coche c =(Coche)v;
/// hacer algo con coche
}
}
}
Constructores
Los constructores son métodos especiales que sirve para inicializar el objeto en un estado coherente
Tienen el mismo nombre que la clase
No devuelven nada ni siquiera void
pueden haber muchos constructores
si no escribimos uno java no proporciona uno por defecto sin parámetros
si escribimos uno el por defecto pasa a ser el nuestro
tienen todos los modificadores de acceso
package e import
package: es una palabra reservada para nombrar en que paquete esta una clase siempre va como inicio del archivo java
import: se utiliza para importar una clase de un paquete , es como hacer visible la clase importada dentro de otra clase
package org.fiat;
public class Auto{
.................
}
package org.ford;
public class Auto{
..............
}
package org.remis;
import org.fiat.Auto;
public class Remis extend Auto{
}
static y miembros de clase
la palabra reservada static me permite declarar atributos y métodos como miembros de clase así puedo llamarlos sin la necesidad de hacer una instancia de dicha clase
Los miembros son visibles a nivel de clase y no a nivel de instancia
public interface Movimiento{
public void correr();
}
public static void main(String arg[]){
Movimiento m = new Movimiento(){
public void correr(){
System.out.print("Correr")
}
};
}
Java Beans
Es simplemente una clase java que tiene determinada características
Para funcionar como una clase JavaBean, una clase debe obedecer ciertas convenciones sobre nomenclatura de métodos, construcción y comportamiento.
Estas convenciones permiten tener herramientas que puedan utilizar, reutilizar, sustituir y conectar JavaBeans.
Las convenciones requeridas son:
Debe tener un constructor sin argumentos.
Sus propiedades deben ser accesibles mediante métodos get y set que siguen una convención de nomenclatura estándar.
Debe ser serializable
public class PersonaBean
implements java.io.Serializable {

private String nombre;
private int edad;

public PersonaBean() {
// Constructor sin argumentos
}

public void setNombre(String n) {
this.nombre = n;
}

public void setEdad(int e) {
this.edad = e;
}

public String getNombre() { return (this.nombre); }

public int getEdad() { return (this.edad); }
}
Igualdad de objetos
Dos objetos son iguales cuando sus estados son iguales, para lograr esto hay que sobre escribir el método equals de la clase java.lang.Object
equals por defecto viene con este codigo
public boolean equals(Object o )
{
if(o == this){
return true;
}
return false;
}
Dos objetos son iguales si el valor de sus atributos identificadores son iguales, en el contexto de reescritura del metodo equals.
Herencia en Animales
Polimorfismo
Full transcript