6. Definición de atributos de una Clase Ing. Andrés M García O Atributo Clase Definición dynamic Permite añadir propiedades a instancias en tiempo de ejecución. final No debe ser heredada por otra clase. internal (valor predeterminado) Visible para referencias dentro del paquete actual. public Visible para referencias en todas partes.
7. Ejemplo Definición de atributos de una Clase Internal Ing. Andrés M García O Public Clase B Internal Clase A Directorio de Clases 1 Public Clase C Directorio de Clases 2 Public Clase B Var A:Clase A Metodo Cambiar _A() Public Clase C Var B:Clase B Var A:Clase A Metodo Cambiar _B() No se puede Porque es Internal
8. Definición de atributos de una Propiedad de la Clase Ing. Andrés M García O Atributo Propiedad Definición internal (valor predeterminado) Visible para referencias dentro del mismo paquete. private Visible para referencias dentro de la misma clase. protected Visible para referencias en la misma clase y en clases derivadas. public Especifica que una propiedad pertenece a la clase en lugar de a las instancias de la clase. static Especifica que una propiedad pertenece a la clase en lugar de las instancias de la clase. UserDefinedNamespace Nombre de espacio de nombres personalizado definido por el usuario.
9. Ejemplo Definición de atributos de una Propiedad Ing. Andrés M García O Public Clase B Internal Clase A Directorio de Clases 1 Public Clase C Directorio de Clases 2 Public Clase B {Private x Protected y Public z Var A:Clase A Metodo Cambiar _x(int) } Public Clase C extends B { This.x=5 This.Y=3 This.z=0 This.cambiar_x(5) } No se puede Porque es Private. “ This” se refiere A una propiedad heredada
10. Definición métodos de una Clase Ing. Andrés M García O Tipo de método Definición Constructor Comparten el nombre con la clase en la que se definen. Todo el código que se incluya en un método constructor se ejecutará siempre que una instancia de la clase se cree con la palabra clave new. Estático Estos métodos, que se asocian a una clase en lugar de a una instancia de clase, son útiles para encapsular la funcionalidad que afecta a algo más que el estado de una instancia individual. De instancia Estos métodos, que se asocian a instancias de una clase en lugar de a la clase como un todo Descriptores de acceso (captador y definidor) Las funciones descriptoras de acceso get y set, también denominadas captadores y definidores, permiten implementar los principios de programación relacionados con la ocultación de información y encapsulación Vinculado es simplemente un método que se extrae de su instancia. Los métodos que se pasan como argumentos a una función o se devuelven como valores desde una función son ejemplos de métodos vinculados.
11. Ejemplo Definición de Método constructor Ing. Andrés M García O Class Mi_clase { public String estado; public function Mi_clase() { estado = "inicializado"; } } // Código que invoca la clase Ejemplo Mi_clase Mi_Objeto = new Ejemplo(); System. out.println( Mi_Objeto.estado ); // output: inicializado // El método constructor lleva el // mismo nombre de la Clase
12. Ejemplo Definición de Método de descriptores de acceso ( Captador o definidor) Ing. Andrés M García O class GetSet { private static String Propiedad_privada; public function GetSet() { Propiedad_privada=“Mi propiedad privada”; } public function get_Propiedad ():String // Método Captador { return Propiedad_privada; } public function set_Propiedad(setValue:String):void // Método definidor {Propiedad_privada = setValue; } } GetSet myGetSet = new GetSet(); System. out.println( myGetSet.get_Propiedad ); // output: myGetSet.publicAccess (“Cambio de propiedad privada por un metodo Set“); System. out.println( myGetSet.get_Propiedad ); // output:
13.
14.
15. Ejemplo Definición Herencia Ing. Andrés M García O public class Animal{ } public class Mammal extends Animal{ } public class Reptile extends Animal{ } public class Dog extends Mammal{ } Ref : http://www.tutorialspoint.com/java/java_overriding.htm
16.
17. Ejemplo Definición Polimorfismo Ing. Andrés M García O class Animal { public void move(){ System.out.println("Animals can move"); } } class Dog extends Animal { public void move() // (Funcion sobre cargada) { System.out.println("Dogs can walk and run"); } } public class TestDog { public static void main(String args[]) { Animal a = new Animal(); // Animal reference and object Dog b = new Dog(); // Animal reference but Dog object a.move();// runs the method in Animal class b.move();//Runs the method in Dog class } } Ref : http://www.tutorialspoint.com/java/java_overriding.htm