2 3 1 Clases Abstractas

913 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
913
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2 3 1 Clases Abstractas

  1. 1. 2_3_1 Clases abstractas Apoyo SSD3
  2. 2. Introducción – métodos abstractos <ul><li>Un método abstracto consiste en una firma de un método sin el cuerpo del método. </li></ul><ul><li>Un método es declarado abstracto añadiendo la palabra clave abstract a la firma del método </li></ul>
  3. 3. Ejemplos de métodos abstractos <ul><li>A continuación se presentan ejemplos de declaraciones de métodos abstractos: </li></ul><ul><ul><li>public abstract void eat (int amount); </li></ul></ul><ul><ul><li>public abstract void sleep (int hours); </li></ul></ul>
  4. 4. Clases abstractas <ul><li>Un método abstracto debe ser declarado en una clase abstracta . </li></ul><ul><li>Una clase abstracta se denota utilizando el modificador abstract : </li></ul><ul><ul><li>public abstract class className { </li></ul></ul><ul><ul><li>. . . </li></ul></ul><ul><ul><li>} </li></ul></ul>
  5. 5. Clases abstractas <ul><li>No se puede crear ninguna instancia de una clase abstracta. </li></ul><ul><li>Si una subclase de una clase abstracta no implementa todos los métodos abstractos heredados de su padre, la subclase debe ser definida también como abstracta. </li></ul>
  6. 6. <ul><li>Una clase abstracta no tiene que tener métodos abstractos. </li></ul><ul><li>Sin embargo, dicha clase no puede ser instanciada porque está definida como abstracta </li></ul>
  7. 8. Jerarquía de clases <ul><li>La clase Person se define como abstracta y no contiene ningún método abstracto. </li></ul><ul><li>La clase Person contiene el atributo name y el método getName . </li></ul><ul><li>La clase Employee extiende la clase Person , añadiendo el atributo age y el método getAge . </li></ul><ul><li>La clase Client hereda de la clase Person , añadiendo el atributo credit y el método getCredit </li></ul>
  8. 12. <ul><li>No se pueden crear instancias de la clase Person porque la clase Person es abstracta. </li></ul><ul><li>Por consecuencia, la siguiente declaración es ilegal: </li></ul><ul><li>Person person = new Person(&quot;John&quot;);//ilegal </li></ul><ul><li>Sin embargo, pueden crearse instancias de las clase   Employee y Client porque son clases concretas: </li></ul><ul><li>Employee employee = new Employee(&quot;John&quot;, 21); </li></ul><ul><li>Client client = new Client(&quot;Mary&quot;, 6000.0 ); </li></ul>

×