La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso de java básico (scjp)

Presentaciones similares


Presentación del tema: "Curso de java básico (scjp)"— Transcripción de la presentación:

1 Curso de java básico (scjp)
1

2 Programación orientada a objetos
2

3 Definir los conceptos de la programación orientada a objetos
Objetivos generales 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 3

4 Fase de análisis y diseño
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 El ciclo de vida para llevar a cabo la producción de software, esta dado por las siguientes actividades: Análisis Diseño Desarrollo Prueba Como se menciona, el análisis, corresponde a describir que hace el sistema. El diseño, engloba la solución al problema planteado: se modelan las relaciones, interacciones entre los objetos y actores del sistema. El desarrollo, implica la programación del diseño propuesto, mientras que la fase de prueba corresponde a la detección de fallas. 4

5 Abstracción 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 Para comprender qué es un objeto, utilicemos elementos cotidianos, por ejemplo una taza. Una taza es un objeto que sirve para verter liquido, posee una determina forma, son de diversos materiales, tiene una determinada capacidad, entre otras características. Ahora bien, todas las tazas del mundo poseen estas características, por lo tanto, todas las tazas son objetos con dichas cualidades. Si quisiéramos compararla con un plato, vemos rápidamente que no todas sus características coinciden. En programación, un objeto representa lo mismo que en la vida real. Un objeto, es una entidad la cual agrupa un conjunto de atributos relacionados y comportamiento. Dicho comportamiento y características, son definidas en una clase. Una función es una acción que quiero aplicarle a mi objeto. Siguiendo con la analogía, llenar la taza o vaciar la taza serian funciones. 5

6 Clases como Diseño de Objetos
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 Si miramos a nuestro alrededor, podemos encontrar varios ejemplos de objetos reales: un perro, una mesa, la television, etc. En el mundo real, los objetos poseen dos características: un estado y comportamiento. Los perros tienen estado (nombre, solor, hambre) y un comportamiento (ladran, persiguen gatos, duermen). Identificar el estado y comportamiento de objetos reales es una buena forma de comenzar a entender la programación orientada a objetos. En base al ejemplo anterior, la clase del objeto taza, debería contener los siguientes atributos (estado): Color de la taza Tamaño de la taza Material de la taza Capacidad Máxima de la taza Estado actual de la taza – si esta vacía, o que cantidad de liquido posee. Y las siguientes funciones(comportamiento): Vaciar taza Llenar taza Lavar taza Ahora bien, no todas las tazas del mundo son iguales; hay de distintos colores, distintos materiales, capacidades etc. Por lo que cada taza es diferente de todas las tazas. En programación, decimos que cada taza es una instancia de la clase taza. Es decir, todas las tazas cumplen con ciertas características comunes, pero cada taza es única. 6

7 Clases como Diseño de Objetos
En la tecnología Java, las clases cumplen tres características claves de la POO: Encapsulamiento Herencia Polimofismo Las cuales veremos más adelante. La programación orientada a objetos, es uno de los tantos paradigmas de programación, el cual se basa en objetos y sus interacciones. Este tipo de programación, se caracteriza por: Encapsulamiento Herencia Polimorfismo Encapsulamiento significa que el objeto es auto-contenido, es decir que solo éste conoce sus atributos y métodos, pudiendo ser independiente de los demás objetos y clases. Cada objeto está aislado del exterior. Dicho aislamiento protege sus datos asociados, de contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones. La herencia, implica que una clase puede heredar métodos y atributos de sus clases padres. Por ejemplo, si tenemos la clase Persona, con los atributos: nombre y cédula, y la clase Empleado, la cual contiene: numEmpleado, si la clase Empleado, hereda de la clase Persona, esta también heredara los atributos de la clase Persona. La clase Empleado, no solo contendrá los atributos numEmpleado, sino que también: nombre y cédula. 7

8 Como vemos, diferentes tipos de objetos poseen ciertas características comunes entre ellos; si bien un empleado, un estudiante, un profesional comparten características de una persona(nombre, apellido, ci, edad, sexo), cada uno posee una característica adicional, que lo hace diferente. La POO, permite que las clases hereden el estado y el comportamiento de otras clases. En este ejemplo, Persona es la superclase de Empleado, Estudiante y Profesional. En Java, cada clase puede tener una superclase, y cada superclase puede tener ilimitadas subclases. El polimorfismo es una técnica por la cual varias clases derivadas (clases hijas que heredan de una clase padre) utilicen un mismo método de forma diferente. Este tipo de programación, nos permite: - Modularizacion: el codigo fuente de un objeto, puede ser mantenido de forma independiente del codigo fuente de los demas objetos. Una vez que se crea un objeto, este es utilizado en el sistema de forma muy facil Ocultamiento de Información: Al interactuar solo con los métodos del objeto, los detalles de la implementacion interna queda oculta del mundo exterior, es decir, de los demás objetos. Reuso de Codigo: Si un objeto ya existe, este puede ser re utilizado Si un objeto se torna problematico, éste puede ser removido de de la aplicacion, siendo reemplezado por un objeto diferente.

9 Declarar Clases en Java
Sintaxis básica de una clase Java: <modificador> class < nombre_clase> { [< declaraciones_de_atributos>] [< declaraciones_de_constructores>] [< declaraciones_de_métodos>] } Ejemplo: public class Vehicle { private double maxLoad; public void setMaxLoad(double value) { maxLoad = value; Como definimos desde un principio, Java es un lenguaje de programación, por lo que como todo lenguaje, este posee una sintaxis determinada la cual debe ser respetada. Para ello, se definen palabras y símbolos “reservadas”, las cuales poseen un significado determinado. El principal desafío para aprender a programar en Java, es comprender la sintaxis del lenguaje. Entre las palabras reservadas, encontramos: class, public, void, double. Como vemos en el ejemplo, el nombre de la clase es Vehicle. Los atributos son maxLoad, el cual es de tipo double (numero no entero), y su visibilidad es privada (private). También posee una función llamada setMaxLoad, la cual cambia el valor maxLoad definido anteriormente. In the real world, you'll often find many individual objects all of the same kind. There may be thousands of other bicycles in existence, all of the same make and model. Each bicycle was built from the same set of blueprints and therefore contains the same components. In object-oriented terms, we say that your bicycle is an instance of the class of objects known as bicycles. A class is the blueprint from which individual objects are created. 9

10 SCJP Tips Existen 3 modificadores de acceso: public protected private
Existen 4 niveles de acceso: default Ahora bien, como dijimos, un objeto es definido en una clase, por lo que dicha clase deberá poseer todas las características del objeto. Para definir una clase solo necesitamos escribir: Public class MiClase {} Debemos tener en cuenta, que las llaves {}, determinan donde comienza y donde termina la clase, por lo que todo lo escribamos dentro de dichas llaves, corresponderá a la clase definida, en este caso a la clase MiClase. Los atributos de un objeto, son definidos en la clase de la siguiente manera: Visibilidad – tipo – nombre Private int tamaño; Al definir los atributos de mi clase, como ser color de la taza, tamaño o material, Java me permite determinar su visibilidad. Para ello, las palabras public, protected y private. 10

11 La palabra private, indica que el atributo es privado, por lo que solo podre acceder a dicho atributo desde esa clase. Public, indica que todos pueden conocer el tamaño de la taza, mientras que los atributos protected pueden ser accedidos desde dicha clase o de las clases que heredan de dicha clase.

12 SCJP Tips Las clases solo pueden ser (excepción en caso inner clases):
public default Otros modificadores aplicables a clases final abstract Los modificadores de acceso nos ayudan a restringir/permitir el acceso a una clase, métodos, variables, etc. que se ha creado. Existen 4 niveles de acceso pero solo 3 son modificadores de acceso: public, protected, private. El cuarto nivel es aquel que se obtiene cuando no se establece ningún modificador de acceso, llamado default. Dentro de los modificadores que no son de acceso tenemos: final y abstract. Clases finales (modificador final): Cuando el modificador final es utilizado en la declaración de una clase, significa que dicha clase no puede ser heredada, es decir, que no puede haber subclases de dicha clase, y para utilizarla debemos de crear una instancia de la misma. Esto se utiliza normalmente cuando queremos que los métodos y función de nuestra clase se queden tal como están, sin que haya otra clase que herede el comportamiento de la que acabamos de definir ni pueda sobreescribir los métodos que contiene. Muchas clases en Java son finales, un ejemplo es la clase String que no puede ser heredada 12

13 Clases abstractas (modificador abstract): Contrario al modificador final, abstract indica que una clase no puede ser instanciada sino que su única razón de existir es ser heredada. Un ejemplo de la utilidad de una clase abstracta podría ser la clase Persona. Sabemos que todas las personas tienen características generales que los describen, sin embargo, existen ciertas cosas que las distinguen una de la otra. Por ejemplo, podríamos tener la clase Empleado, Estudiante, Escolar, etc. En este caso, Persona es una clase abstracta, que define métodos, y variables que cualquier persona puede tener, pero que necesita de alguna información que la distinga de las demás personas. Clases embebidas(inner classes):Una clase embebida es una clase que se define dentro de otra. Es una característica de Java que permite agrupar clases lógicamente relacionadas y controlar la 'visibilidad' de una clase. Ejemplo: class Externa {         class Interna {             } }

14 Modificadores De Acceso
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 Como mencionamos anteriormente, dentro de los modificadores de acceso encontramos: public y private. Para comprender su uso, veremos el siguiente ejemplo: //Persona.java public class Persona { private String miNombre; //atributo public String getNombre() //Método de acceso return miNombre; } public Persona() //Constructor 14

15 //Prueba.java public class Prueba { public static void main(String[] args) Persona p = new Persona(); p.getNombre(); } En este ejemplo, vemos que la clase Persona tiene una visibilidad publica, por lo que podemos crear objetos Persona desde otras clases. El método getNombre(), también es publico, por lo que tambien puede ser accedido desde la clase Prueba. Sin embargo, el atributo miNombre, es privado. En este caso, este atributo solo es accesible dentro de la misma clase, pero no desde la clase Prueba.

16 Declarar Atributos Sintaxis básica de un atributo:
[< modificadores>] < tipo> <nombre> [ = <valor_inicial>]; Ejemplo public class Foo { private int x; private float y = F; private String name = "Bates Motel"; } Para la definición de una atributo, se debe seguir la siguiente sintaxis: Modificador – tipo – nombre Modificador: public, private, protected. Tipo: String, int, double, Persona, etc. Nombre: cualquier palabra que no sea alguna de las palabras reservadas, como ser: class, public, int… etc. En el ejemplo, tenemos una clase publica, llamada Foo, en la cual se definen 3 atributos privados, llamados: x, y y name. El tipo del atributo x es un entero (int), el de y es un número con coma (float), mientras que el tipo del atributo name es de texto (String). En este caso, solo los atributos y y name son inicializados, es decir, se le asigna un valor. 16

17 Declarar Métodos Sintaxis básica de métodos:
[< modificadores >] < tipo_retorno> <nombre>([< lista_de_argumentos>]) { [< sentencias>]} Ejemplo public class Dog { private int weight; public int getWeight() { return weight; } public void setWeight(int newWeight) { weight = newWeight; } En este ejemplo, vemos que nuestra clase se llama Dog. Los atributos son el peso: weight y la función es setWeight. Private int weight; es una atributo, el cual es privado y de tipo int (entero) public void setWeight(int newWeight) { weight = newWeight; } La función o método setWeight, tiene una visibilidad publica (public), y no devuelve ningún valor (void). El nombre de la función es setWeight. Al igual que en una clase, el comienzo y fin de un método son definidos por llaves {}. 17

18 SCJP Tips - Métodos 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. Como se menciono anteriormente, para definir un método se debe seguir la siguiente sintaxis: Modificador tipoRetorno nombre (argumentos) { sentencias } Si tuvieramos un método que no retorna ningún valor, deberíamos utilizar el tipoRetorno void. Ejemplo: public void ejemplo1() int a=2; a=1; 18

19 En este ejemplo, tenemos un método llamado ejemplo1, el cual no retorna ningún valor, sino que solo declara una variable denominada a con el valor 2, y lo cambia a 1. Ahora bien, si quisiéramos retornar una valor, deberíamos escribirlo de la siguiente manera, Ej: public String saludo() { return “Holaaa”; } Como vemos, el método saludo, me retorna la palabra “Holaaa”. Tengamos en cuenta, que al definir la firma del método, debemos determinar el tipo de retorno, en este caso tipo String, el cual debe coincidir con el tipo de datos retornado: “Holaaa”. Si hubiéramos escrito: return 1; Hubiéramos obtenido un error, ya que 1 es de tipo int, y el método saludo, esperaba retornar algo de tipo String.

20 Acceder a Miembros de un Objeto
La notación “punto”: <objeto>.<miembro> 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 20

21 SCJP Tips 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. Veamos el siguiente ejemplo: //Persona.java public class Persona { private String nombre; public int ci; public String getNombre() return nombre; } public voidsetNombre(String n) nombre=n; public Persona(){} 21

22 //Prueba.java Public class Prueba { public static void main(String[] args) Persona p = new Persona(); p.setNombre(“Lolca”); p.ci= ; } En este ejemplo, vemos que el método setNombre y el atributo ci, pueden ser accedidos desde afuera de la clase Persona, ya que ambos tienen visibilidad public. El atributo nombre, no puede ser accedido directamente desde la clase Prueba pero si desde Persona, sin utilizar el punto.

23 Ocultamiento De Información
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 Como mencionamos anteriormente, según la visibilidad de los atributos o métodos, se podrá o no ocultar cierta información. En este caso, los atributos day, month e year son públicos. Por lo que pueden ser accedidos y modificados desde cualquier lugar, pudiendo asignar valores erróneos o sin sentido. 23

24 Ocultamiento De Información
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); Para solucionar el problema anterior, es que se utilizan los métodos getters/setters para acceder a los datos. El objetivo de estos método, es dar acceso pero de forma controlada. La idea es que cada vez que se quiera cambiar el valor de alguna de las variables: day, year y month, se puedan chequear ciertas condiciones, de manera de asegurarnos que los datos ingresados sean validos y con sentido. En este caso, tendríamos una clase con los atributos: day, month e year, con visibilidad privada(private) y tipo int. Además, se definirían los métodos de acceso y modificación, los cuales deberían realizar ciertas validaciones. 24

25 Encapsulamiento 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 Como definimos anteriormente, encapsulamiento significa que un objeto es auto-contenido, es decir que solo éste conoce sus atributos y métodos, pudiendo ser independiente de los demás objetos y clases. Cada objeto está aislado del exterior. Dicho aislamiento protege sus datos asociados, de contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones En este ejemplo, vemos que sólo se puede modificar el atributo date, a través de los métodos de acceso: setters. Por lo que los objetos MyDate, están encapsulados en dicha clase. 25

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

27 Ejemplo: constructores
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) { 12 weight = newWeight; 13 } 14} En este caso, todos los objetos creados, tendran como peso el valor 42, hasta que se aplique la función setWeight con otro valor. 27

28 Constructor Por Defecto
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. Ejemplo: Public class Dog{ private int weight; public void setWeight(int peso){ weight=peso; } public Dog() {} public Dog(int peso) { weight=peso Si quisieramos crear un nuevo objeto, podriamos usar cualquiera de sus constructores: Dog miDog = new Dog(); Dog tuDog = new Dog(28); 28

29 SCJP Tips 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) Para crear varias instancias de una clase, es decir, varios objetos, es necesario definir al menos un constructor. Para comprender cómo es su definición, veamos un ejemplo: public class Persona { //atributos private String nombre; private int edad; //getters y setters public void setNombre(String nom) nombre=nom; } 29

30 public void setEdad(int e)
{edad=e;} public int getEdad() {return edad;} public String getNombre() {return nombre;} //Constructores public Persona() { } public Persona(int e) public Persona(String n) {nombre=n;} public Persona(String n, int e) {nombre=n; edad=e; } } En la definición de la clase Persona, vemos que se definen 4 constructores, por lo que ala hora de definir un nuevo objeto podríamos hacerlo de la siguiente manera: Persona p = new Persona(); Persona p2= new Persona(12); Persona p3= new Persona(“Pepe”); Persona p4= new Persona(“Pepe”,21); En cada caso, según los argumentos que se pasen por parámetro, se invocara determinado constructor. Una interfaz, es la definición de un contrato, la cual brinda funcionalidades. No se pueden crear objetos de una interfaz, sino que estas proveen servicios a otros objetos. Para comprender mejor de que se trata, analicemos el siguiente ejemplo: Ya hemos definido lo que es un objeto y su interaccion con el mundo exteriore a traves d elos métodos que éste impone. Los métodos forman la interfaz del objeto con el mundo exterior; los botones del televisor, por ejemplo, son la interface entre una persona y el circuito electrico que hacen que ésta se prenda. You press the "power" button to turn the television on and off. In its most common form, an interface is a group of related methods with empty bodies.

31 Diseño De Archivo Fuente
Sintaxis básica de un archivo Java: [< declaración_de_package>] [< declaraciones_de_import>] < declaración_de_clase>+ 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) {...} } El diseño de una archivo fuente Java esta compuesto por el package, los imports y la clase. En Java se utilizan packages para ordenar las clases según algún criterio. En este ejemplo, nuestra clase está definida en el paquete shipping.reports. Por otro lado, los imports, son utilizados para importar funcionalidades de otras librerías, en este caso, las librerías importadas son: import shipping.domain.*; import java.util.List; import java.io.*; Finalmente, tenemos la definición de la clase VehicleCapacityReport , con sus respectivos métodos y atributos. 31

32 SCJP Tips 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 ) Como explicamos anteriormente, un archivo .java, sólo puede contener una clase public, cuyo nombre debe coincidir con el nombre del archivo. Si se desean definir mas clases dentro del mismo archivo, éstas no podrán ser publicas. Veamos el siguiente ejemplo: //Persona.java public class Persona { ….. } class empleado …. 32

33 Paquetes De Software Los paquetes permiten un mejor manejo de sistemas de software grandes Los paquetes pueden contener clases y sub- paquetes Al definir una clase, debemos determinar a qué paquete pertenece, con el objetivo de modularizar el sistema. Un paquete es un namespace que organiza un conjunto de clases e interfaces relacionadas entre si. Por lo general, una aplicación es separada en tres paquetes: Dominio, GUI y Negocio. El dominio, contiene todas las clases bases, es decir las entidades. Ej: clase Persona, Empleado, Casa, etc. El paquete GUI, posee la interfaz gráfica, ya sean ventanas o interfaz de consola (estilo MS-DOS). Finalmente, el paquete Negocio, es el intermediario entre el paquete GUI y el Dominio. Éste posee métodos o servicios que son utilizados por el paquete GUI. 33

34 Sentencia package Sintaxis básica de la sentencia package:
package < nombre_de_paquete_padre>[.<nombre_de_sub- paquete>]*; Ejemplo: package shipping.reports; Especifique la declaración del package al comienzo del archivo fuente. 34

35 Sentencia package 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. Si no se asigna un paquete a un archivo fuente, el paquete por defecto es el src. Si se desea definir una jerarquía mas compleja de paquetes, se utiliza un punto. Ejemplo: package dominio; package negocio.reportes; package negocio.reportes.estadísticas; 35

36 Diseño de Paquetes y Directorio
Los paquetes son guardados en el árbol de directorio que contenga el nombre del paquete. Ejemplo, los paquetes de la aplicación “shipping” : Cualquier estructura de paquetes creada, sigue una estructura de archivos, de manera que cada paquete corresponde a una carpeta en el File System del Sistema Operativo. 36

37 Sentencia import Sintaxis básica de la sentencia import:
import < nombre_pkg> [.<nombre_sub_pkg>].< nombre_clase>; (en este caso solamente se importa la clase que se va ha utilizar) O import < nombre_pkg>[.< nombre_sub_pkg>].*; (en este caso se importan todas las clases del sub package) Para utilizar funcionalidades proporcionadas por otras clases, se utiliza la sentencia import. Al utilizar un import, se están importando librerías externas o clases de una librería según como se utilice. Veamos un ejemplo: Si se desea importar sólo una clase, se deberá escribir el nombre del package, y sub packages, según corresponda, hasta llegar a la clase. Si sólo se importa el paquete, se deberá especificar el nombre del paquete. 37

38 Sentencia import 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 38

39 SCJP Tips Los imports son un shortcut al fully qualified name de la clase que importan. Ej: import java.util.List; public class Auto{ private List<Rueda> 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<Rueda> ruedas; } Imports y fully qualified names pueden coexistir Al importar un paquete, se puede utilizar la sentencia import, como se explico anteriormente y el fully qualified name. Este último, corresponde a utilizar el nombre completo del package y la clase al tener que utilizar un método o tipo de una librería externa. Ejemplo: private java.util.List<Rueda> ruedas; 39

40 Repaso De Terminología
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 40

41 Documentación Java - API
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 Si quisiéramos consultar alguna de las clases o librerías que proporciona Java, ya sea la clase String, List, Math etc, podemos consultar la API de Java disponible en Internet. Este sitio, posee todos las funcionalidades de cada clase, junto con sus jerarquías, de manera que cada programador pueda consultarla. La Java Platform API Specification, contiene una completa lista de todos los paquetes, interfaces, clases, campos y métodos proporcionados por Java 6 41

42 JAVA - API Como vemos en la imagen, tenemos una lista con las clases disponibles, y al hacer click en alguna de ellas, se desplegaran los métodos de cada una, junto con una descripción. 42

43 Resúmen 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 Referencias Arraquis Java Sun
Java Sun


Descargar ppt "Curso de java básico (scjp)"

Presentaciones similares


Anuncios Google