Programacion Orientada a Objetos

download Programacion Orientada a Objetos

of 14

description

breve resumen de PROGRAMACION ORIENTADA A OBJETOS

Transcript of Programacion Orientada a Objetos

  • UNIDAD I. PROGRAMACION

    ORIENTADA A OBJETOS

    1.1 Clases

    1.2 Objetos

    1.2.1 Atributos

    1.2.2 Metodos

    1.3 Herencia

    1.4 Polimorfismo

    1.5 Abstracion

  • PROGRAMACION ORIENTADA A

    OBJETOS

    CLASE

    Define la forma y comportamiento de un

    objeto

    Sintaxis

    La forma de declarar una clase es:

    class Nombre de la clase {

    atributos

    mtodos

    }

  • PROGRAMACION ORIENTADA A

    OBJETOS

    OBJETO

    Es un tipo de datos con estructura y estado.

    Atributo.

    Metodo.

  • CLASES DE OBJETOS

    Las clases de objetos representan conceptos o

    entidades significativos en un problema

    determinado.

    Una clase describe las caractersticas comunes

    de un conjunto de objetos, mediante dos

    elementos:

    Atributos (o variables miembro, variables de clase).

    Describen el estado interno de cada objeto

    Operaciones (o mtodos, funciones miembro). Describen

    lo que se puede hacer con el objeto, los servicios que

    proporciona

  • Clases de Objetos

    Cuenta

    Numero: String

    Titular: String

    Saldo: Float

    interesAnual: Float

    Ingreso(Cantidad: Float);

    Reintegro(cantidad: Float)

    ingresoInteresMes()

    enRojos()Boolean

    leerSaldo() Real

  • Clases de Objetos

    Durante la ejecucin de la aplicacin se

    producir la instanciacin de la clase, es

    decir, la creacin de los objetos que

    representan cada uno de los individuos

    con sus caractersticas propias, es decir,

    valores especficos para sus atributos

  • Clases de Objetos

    Cuenta

    Numero: String

    Titular: String

    Saldo: Float

    interesAnual: Float

    Ingreso(Cantidad: Float);

    Reintegro(cantidad:

    Float)

    ingresoInteresMes()

    enRojos()Boolean

    leerSaldo() Real

    c: Cuenta

    Numero:123890023

    Titular:Miguel Perez Saldo:1800.4

    interesAnual = 0.25

    e: Cuenta

    Numero:151590020

    Titular:Javier Sanchez Saldo:1200.2

    interesAnual = 1.25

    d: Cuenta

    Numero: 23900839

    Titular:Antonio Gomez Saldo: 200

    interesAnual = 0.25

  • Java

    Java cumple con ser un lenguaje de

    programacion sencillo, orientado a

    objetos, distribuido, interpretado,

    robusto, seguro, de arquitectura neutral,

    portatil, de gran rendimiento, multitarea

    y dinamico.

    Java2 SDK software

  • JAVA

    Primer programa en Java

    class Hola {

    public static void main (String[] arguments) {

    System.out.println("Hola bienvenido a tu curso bsico+de Java");

    }

    }

  • JAVA

    Comentarios

    Palabras reservadas

    Sentencias y expresiones

    Control de Flujo

  • 3. Mtodos y Constructores

    Los mtodos son funciones que pueden ser llamadas dentro de la clase o por otras clases. El constructor es un tipo especfico de mtodo que siempre tiene el mismo nombre que la clase.

    Cuando se declara una clase en Java, se pueden declarar uno o ms constructores opcionales que realizan la inicializacin cuando se instancia (se crea una ocurrencia) un objeto de dicha clase.

    Utilizando el cdigo de ejemplo anterior, cuando se crea una nueva instancia de MiClase, se crean (instancian) todos los mtodos y variables, y se llama al constructor de la clase:

    MiClase mc; mc = new MiClase();

  • 4. Herencia

    La Herencia es el mecanismo por el que se crean nuevos objetos definidos en trminos de objetos ya existentes. Por ejemplo, si se tiene la clase Ave, se puede crear la subclase Pato, que es una especializacin de Ave.

    class Pato extends Ave {

    int numero_de_patas;

    }

    La palabra clave extends se usa para generar una subclase (especializacin) de un objeto. Una Pato es una subclase de Ave. Cualquier cosa que contenga la definicin de Ave ser copiada a la clase Pato, adems, en Pato se pueden definir sus propios mtodos y variables de instancia. Se dice que Pato deriva o hereda de Ave.

  • 5. Control de acceso

    Cuando se crea una nueva clase en Java, se puede especificar el nivel de acceso que se

    quiere para las variables de instancia y los mtodos definidos en la clase:

    public

    public void CualquieraPuedeAcceder(){}

    Cualquier clase desde cualquier lugar puede acceder a las variables y mtodos de

    instacia pblicos.

    protected

    protected void SoloSubClases(){} Slo las subclases de la clase y nadie ms puede

    acceder a las variables y mtodos de instancia protegidos.

    private

    private String NumeroDelCarnetDeIdentidad; Las variables y mtodos de instancia

    privados slo pueden ser accedidos desde dentro de la clase. No son accesibles desde

    las subclases.

    friendly (sin declaracin especfica)

    void MetodoDeMiPaquete(){} Por defecto, si no se especifica el control de acceso, las

    variables y mtodos de instancia se declaran friendly (amigas), lo que significa que son

    accesibles por todos los objetos dentro del mismo paquete, pero no por los externos al

    paquete. Es lo mismo que protected.

    Los mtodos protegidos (protected) pueden ser vistos por las clases derivadas, como en

    C++, y tambin, en Java, por los paquetes (packages). Todas las clases de un paquete

    pueden ver los mtodos protegidos de ese paquete. Para evitarlo, se deben declarar

    como private protected, lo que hace que ya funcione como en C++ en donde slo se

    puede acceder a las variables y mtodos protegidos de las clases derivadas.

  • Las palabras reservadas THIS y SUPER

    Despus de un tiempo sin postear (y sin dedicarle demasiado a Java) por culpa de determinadas obligaciones acadmicas, vuelvo a la carga para explicar una cosa muy sencilla. Java nos da estas herramientas para poder hacer nuestro codigo ms entendible. La palabra reservada this permite especificar que la variable que seala (y la seala haciendo this.nombreVariable) es de la misma clase en la que se usa. Os podeis preguntar .. para que me sirve esto, si ya se sobreentiende? Yo nunca voy a usar dos variables con el mismo nombre! Pues yo os voy a comentar un caso en el que this nos permite crear codigo mucho ms facil de entender para aquel que lo lee (y por tanto, ms sencillo para nosotros cuando lo tengamos que releer/modificar/mejorar).