7. Temas
1. Definición de clases en
Programación
2. Ejemplos de Clases en Java
3. Ámbito de definición de una clase
en Java
4. La clase rectángulo
5. Tipos de clases en Java
6. Clases, subclases y superclases
7. Herencia en Java
Java Dr. Febles
8. Objetivos
1. Entender el concepto de clases y superclases
2. Evaluar el concepto de Objeto y su utilización en
la programación
3. Adquirir nociones de Herencia y su relación con
la programación orientada a objetos.
4. Distinguir las clases de la superclases
5. Organizar una jerarquía de clases sencilla.
6. Conocer los que significa los paquetes y las
interfases
Java Dr. Febles
9. Un programa
Conjunto de instrucciones que dicen a la computadora que hacer.
Un grupo de pequeños programas que responden a eventos específicos
La POO ve un programa como un
conjunto de objetos que trabajan
juntos de manera predefinida para
realizar tareas.
Java Dr. Febles
10. La POO
La programación orientada a objetos
se basa en la programación de
clases. Un programa se construye a
partir de un conjunto de clases.
Java Dr. Juan Pedro Febles
11. Aspectos generales
Son una abstracción
Objetos Operaciones
Clases
Atributos Enlaces
Describe propiedades y
comportamientos importantes e ignora otras
12. ¿Cómo puedo definir una clase?
Como una colección de campos y
métodos (funciones y
procedimientos) que trabajan
juntos para acometer una tarea
específica de programación.
Java Dr. Febles
13. Un ejemplo de clase
Una clase es una plantilla implementada en software que describe un
conjunto de objetos con atributos y comportamiento similares.
Una instancia u objeto de una clase es una representación concreta y
específica de una clase y que reside en la memoria del ordenador.
Java Dr. Febles
14. ¿Y los atributos?
Características individuales
Apariencias Color
Atributos
Otras Estatura
cualidades
Se guardan en variables denominadas
de instancia
15. Ejemplos de clases
• Clasepersonas (atributos: nombre, edad,
dirección; operaciones: actualizar_edad,
cambiar_dirección).
• Clase polígonos (atributos: vértices, color del
borde y color del interior; operaciones: diseñar,
borrar y mover).
Nota: Cada objeto es denominado instancia de su
clase.
Java Dr. Febles
17. Cómo se crea una clase
Se utiliza la palabra reservada class y a continuación el
nombre de la clase. La definición de la clase se pone
entre las llaves de apertura y cierre. El nombre de la
clase empieza por letra mayúscula.
Ejemplo:
class Rectangulo{
//miembros dato
//funciones miembro
}
Java Dr. Febles
18. Crear clase
class mamifero {
String color;
String sex;
boolean hambre;
}
Se crean tres variables de instancias. Faltan
métodos.
Java Dr. Febles
19. Los miembros dato
Los valores de los atributos se guardan en los
miembros dato o variables de instancia. Los nombres
de dichas variables comienzan por letra minúscula,
como ya hemos visto.
Java Dr. Febles
20. Ámbito de una
variable
No se puede declarar una variable con el mismo
nombre que una de ámbito exterior.
Ejemplo.
En C y C++ son distintas, porque están declaradas
dentro de ámbitos diferentes. En Java, esto es ilegal.
Class Ambito {
int i = 1; // ámbito exterior
{ // crea un nuevo ámbito
int i = 2; // error de compilación
}
}
Java Dr. Febles
21. Otro ejemplo
Crear la clase Rectángulo, que describa las
características comunes a estas figuras planas
que son las siguientes:
Origen del rectángulo: el origen o posición de
la esquina superior izquierda del rectángulo en
el plano determinado por dos números enteros
x e y.
Las dimensiones del rectángulo: ancho y alto,
otros dos números enteros
Java Dr. Febles
24. Lo fundamental de cada tipo de
clase
Abstract Public Final
Una clase abstract
tiene al menos un Una clase final se
declara como la Las clases public
método abstracto.
clase que termina son accesibles
Una clase abstracta
una cadena de desde otras clases,
no se instancia, sino bien sea
que se utiliza como herencia. No se
puede heredar de directamente o por
clase base para la herencia
herencia una clase final
25. Herencia
Con la herencia definiremos nuevas clases
(subclases) a partir de clases ya existentes
(superclases) adaptando el código de esta
última o añadiendo nuevo código pero “sin
tocar” la clase original, es decir sin afectar la
funcionalidad ya existente para la superclase.
Java Dr. Febles
26. ¿ Cómo se dice en java que una clase
está heredando de otra?
class nombreSubClase extends nombreSuperClase
{
......
}
Java Dr. Febles
27. ¿Qué variables miembro hereda
una subclase?
Regla: Una subclase hereda todas las
variables miembros de su superclase
que puedan ser accesibles desde la
subclase (a menos que la variable
miembro esté oculta en la subclase).
Java Dr. Juan Pedro Febles
28. ¿Qué variables miembro hereda una subclase?
•heredan aquellas variables miembros declaradas como public
o protected.
•heredan aquellas variables miembros declaradas sin
especificador de acceso (normalmente conocidas como
"Amigas") siempre que la subclases esté en el mismo paquete
que la clase.
•no hereda las variables miembros de la superclase si la
subclase declara una variable miembro que utiliza el mismo
nombre. La variable miembro de la subclase se dice que oculta
a la variable miembro de la superclase.
•no hereda las variables miembro private.
Java Dr. Juan Pedro Febles
29. Resumen
Clase: Un modelo para un objeto que contiene variables
para describirlos y métodos para describir como ellos se
comportan. Las clases pueden heredar variables y métodos
de otras clases.
Objeto: Una instancia de una clase. Varios objetos que
sean instancia de la misma clase tienen acceso a los
mismos métodos, pero frecuente mente tienen valores
diferentes para sus variables.
Java Dr. Febles
30. Resumen
•Paquete: Un conjunto de clases e
interfases. Las clases de paquetes que no
sean Java.lang deben ser importadas
explícitamente o ser referidos a través de
sus nombres y paquetes completos.
•Subclase: Una clase mas abajo que otra
en la jerarquía de clase, su superclase.
Java Dr. Juan P Febles
31. Resumen cont…
•Superclase: Una clase arriba de otra
en la jerarquía de clase, su subclase.
Una clase puede tener solo una
superclase inmediatamente arriba de
ella, mas ella puede tener a su vez
una superclase.
Java Dr. Juan P Febles
32. Fin de la clase
Próximo tema:
Objetos, Métodos y funciones en Java
Java Dr. Juan P Febles