La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Definir los conceptos de la programación orientada a objetos Utilizar los modificadores de acceso private y public (encapsulamiento) Invocar un método.

Presentaciones similares


Presentación del tema: "Definir los conceptos de la programación orientada a objetos Utilizar los modificadores de acceso private y public (encapsulamiento) Invocar un método."— Transcripción de la presentación:

1

2

3 Definir los conceptos de la programación orientada a objetos Utilizar los modificadores de acceso private y public (encapsulamiento) Invocar un método de un objeto

4 El análisis describe qué hace el sistema: Modelado del mundo real: actores y actividades, objetos y comportamientos El diseño describe cómo lo hace: Modelado de relaciones e iteraciones entre objetos y actores en el sistema Detectar abstracciones útiles y utilización de patrones para simplificar el problema o la solución

5 Funciones – Escribir el algoritmo una vez para usarlo muchas veces Objetos – Agrupar un conjunto de atributos relacionados y comportamientos en una clase Frameworks y APIs – Grandes grupos de objetos que dan soporte a una actividad compleja Los Frameworks pueden ser utilizados tal como están o se pueden extender sus comportamientos

6 En una fábrica, el diseño de un dispositivo describe como se van a construir muchos dispositivos físicos. En software, una clase es la descripción de un objeto: Una clase describe los datos que cada objeto incluye Una clase describe el comportamiento que cada objeto exhibe

7 En la tecnología Java, las clases cumplen tres características claves de la POO: Encapsulamiento Herencia Polimofismo Las cuales veremos más adelante.

8

9 Sintaxis básica de una clase Java: class { [ ] } Ejemplo: public class Vehicle { private double maxLoad; public void setMaxLoad(double value) { maxLoad = value; }

10 Existen 3 modificadores de acceso: public protected private Existen 4 niveles de acceso: public protected default private

11

12 Las clases solo pueden ser (excepción en caso inner clases): public default Otros modificadores aplicables a clases final abstract

13

14 Por ahora veremos solo dos: private: miembros solo visibles por la propia clase, veremos más adelante que no se heredan public: miembros o clases visibles por todas las demás clases

15

16 Sintaxis básica de un atributo: [ ] [ = ]; Ejemplo public class Foo { private int x; private float y = F; private String name = "Bates Motel"; }

17 Sintaxis básica de métodos: [ ] ([ ]) { [ ]} Ejemplo public class Dog { private int weight; public int getWeight() { return weight; } public void setWeight(int newWeight) { weight = newWeight; }

18 Si el tipo de retorno es un objeto, se acepta null como valor de retorno Nada puede ser retornado si se declara el tipo de retorno como void, pero puede utilizarse simplemente return.

19

20 La notación punto:. Esto es utilizado para acceder a miembros de objetos, como los atributos y métodos Ejemplos: d.setWeight(42); d.weight = 42; // sólo permitido si weight tiene // alcance public

21 Los métodos y atributos son conocidos como miembros (también las inner classes). Los miembros pueden usar todos los niveles de acceso. Los miembros accedidos sin el operador punto (.) deben pertenecer a la propia clase.

22

23 El problema: El código del cliente tiene acceso a los datos internos d.day = 32; // día no válido d.month = 2; d.day = 30; //posible pero erróneo d.day = d.day + 1; // no realiza chequeo sobre el mes

24 La solución: El código del cliente debe utilizar los métodos setters/getters para acceder a los datos internos: MyDate d = new MyDate(); d.setDay(32); d.setMonth(2); d.setDay(30); d.setDay(d.getDay() + 1);

25 Oculta los detalles de implementación de una clase Obliga al usuario a utilizar una interfase para acceder a los datos Hace el código más mantenible

26 Sintaxis básica de un constructor: [ ] ([ ]) { [ ] } Los constructores deben tener el mismo nombre que la clase No tienen un tipo de retorno

27 Ejemplo 1 public class Dog { 2 private int weight; 3 4 public Dog() { 5 weight = 42; 6 } 7 8 public int getWeight() { 9 return weight; 10 } 11 public void setWeight(int newWeight) { 12weight = newWeight; 13 } 14}

28 Existe por lo menos un constructor en cada clase. Si el programador no escribe ningún constructor, el constructor por defecto esta presente automáticamente: El constructor por defecto no recibe parámetros El cuerpo del constructor es vacío Permite al programador construir objetos con new Xxx() sin tener que escribir un constructor.

29 Todas las clases (incluso las abstractas) tienen por lo menos un constructor Si se coloca un tipo de retorno en un constructor, se convierte en una función con el mismo nombre que la clase pero deja de ser un constructor Las interfaces no tienen constructor(Importante)

30

31 Sintaxis básica de un archivo Java: [ ] + Ejemplo del archivo VehicleCapacityReport.java : package shipping.reports; import shipping.domain.*; import java.util.List; import java.io.*; public class VehicleCapacityReport { private List vehicles; public void generateReport(Writer output) {...} }

32 Un archivo fuente puede tener solo una clase public Un archivo fuente puede tener más de una clase no- public Si el fuente contiene una clase publica su nombre debe coincidir con el de la clase Los fuentes sin clases public no tienen restricciones en cuanto al nombre del archivo Las clases en un mismo archivo pueden declararse en cualquier orden ( no existe problema de forward referencing )

33 Los paquetes permiten un mejor manejo de sistemas de software grandes Los paquetes pueden contener clases y sub- paquetes

34 Sintaxis básica de la sentencia package: package [. ]*; Ejemplo: package shipping.reports; Especifique la declaración del package al comienzo del archivo fuente.

35 Solamente una declaración de paquete por archivo fuente. Si ningún paquete es declarado, entonces la clase pertenece al paquete por defecto. Los nombres de los paquetes debe ser jerárquico y separado por punto.

36 Los paquetes son guardados en el árbol de directorio que contenga el nombre del paquete. Ejemplo, los paquetes de la aplicación shipping :

37 Sintaxis básica de la sentencia import: import [. ]. ; (en este caso solamente se importa la clase que se va ha utilizar) O import [. ].*; (en este caso se importan todas las clases del sub package)

38 Ejemplo: import shipping.domain.*; import java.util.List; import java.io.*; Precede a todas las declaraciones de clases Le indica al compilador dónde encontrar las clases que se utilizan

39 Los imports son un shortcut al fully qualified name de la clase que importan. Ej: import java.util.List; public class Auto{ private List ruedas; } Si se usan clases de otro paquete y no hay sentencias de import, se deberá usar el fully qualified name de la clase donde se quiera hacer referencia a la misma. Ej: public class Auto{ private java.util.List ruedas; } Imports y fully qualified names pueden coexistir

40 Clase – Código fuente que diseña los objetos de tiempo de ejecución Objeto – Instancia de una clase También conocido como instancia Atributo – Elemento con información de un objeto También conocido como dato miembro, variable de instancia, campo de dato Método – Elemento que define el comportamiento de un objeto. También conocido como algoritmo, función, procedimiento Constructor – Es como un método constructor utilizado para inicializar un objeto nuevo Package – Grupo de clases agrupada y/o sub paquetes

41 Conjunto de archivos HTML que provee información de las API Un frame describe un paquete y contiene enlaces a páginas que describen la información de cada clase en ese paquete. El documento de cada clase incluye la jerarquía de clases a la cuál pertenece, una descripción de la clase, una lista de variables miembro, una lista de constructores, una lista de métodos, etc. La direccion es

42

43 Definición de objetivos. Definición de Programación Orientada a Objetos (POO) Fases en el Proceso de Software. Clases y Objetos Herencia, Polimorfismo y Encapsulamiento. Sintaxis: atributos, métodos, clases, constructores. Métodos de acceso y modificación. Paquetes e Imports de paquetes. Documentación de Java (API)

44 Arraquis Java Sun /index.htmlhttp://download.oracle.com/javase/1.5.0/docs/guide/language /index.html


Descargar ppt "Definir los conceptos de la programación orientada a objetos Utilizar los modificadores de acceso private y public (encapsulamiento) Invocar un método."

Presentaciones similares


Anuncios Google