ing. cristhian garita fonseca e-mail: [email protected] tel: 2000-7786
TRANSCRIPT
![Page 1: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/1.jpg)
Ing. Cristhian Garita FonsecaE-mail: [email protected]: 2000-7786
![Page 2: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/2.jpg)
Una clase es la definición de un tipo por parte del usuario(programador). En donde se definen métodos y atributos relacionados a ese tipo (clase).
Prof.: Ing. Cristhian Garita Fonseca 2
![Page 3: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/3.jpg)
Un objeto es una realización o instancia de una clase.
Un objeto es dependiente de una clase, sin una clase no se puede crear un objeto
Prof.: Ing. Cristhian Garita Fonseca 3
![Page 4: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/4.jpg)
Prof.: Ing. Cristhian Garita Fonseca 4
![Page 5: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/5.jpg)
Los paquetes son el mecanismo por el que Java permite agrupar clases, interfaces, excepciones y constantes. De esta forma, se agrupan conjuntos de estructuras de datos y de clases con algún tipo de relación en común.
Prof.: Ing. Cristhian Garita Fonseca 5
![Page 6: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/6.jpg)
Desde algo sencillo como el desarrollo de una clase hasta el desarrollo de un sistema complejo, siempre es importante tener una vista clara del problema que se plantea.
Una ves que se tiene claro el concepto a desarrollar se procede a definir:
Prof.: Ing. Cristhian Garita Fonseca 6
![Page 7: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/7.jpg)
Prof.: Ing. Cristhian Garita Fonseca7
Acceso de la clase
public
private
Nombre
Aplica también las reglas de declaración de variables
Atributos
Atributos o características de la clase:Ej: Edad, Sexo
Constructor (es) de la
clase
Son métodos llamados igual que la clase y se utilizan cuando se crea una instancia de la clase
![Page 8: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/8.jpg)
Prof.: Ing. Cristhian Garita Fonseca8
Properties de cada atributo
Get’s
Set’s métodos
Creación de todos los métodos necesarios de la clase
![Page 9: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/9.jpg)
Acceso de la clase Public
▪ Una clase publica en todo el proyecto Private
▪ Clase que únicamente puede ser accedida en un mismo paquete y no desde otros paquetes
Prof.: Ing. Cristhian Garita Fonseca 9
![Page 10: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/10.jpg)
Nombre de la clase Relacionado con el tipo de dato que se desea
definir. Deben de comenzar con una letra Puede incluir, pero no comenzar por un número No puede incluir el carácter espacio en blanco Distingue entre letras mayúsculas y minúsculas No se pueden utilizar las palabras reservadas
como nombres de clases
Prof.: Ing. Cristhian Garita Fonseca 10
![Page 11: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/11.jpg)
Atributos de la clase Características relacionadas al tipo de
dato (clase) que se desea crear
Prof.: Ing. Cristhian Garita Fonseca 11
Cabello
Ojos
boca
![Page 12: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/12.jpg)
Constructores de la clase Cuando se construye un objeto es necesario
inicializar sus variables con valores coherentes, imaginemos un objeto de la clase Persona cuyo atributo color de pelo al nacer sea verde, un estado incorrecto tras construir el objeto persona. La solución en los lenguajes orientados a objetos es emplear los constructores. Un constructor es un método perteneciente a la clase que posee unas características especiales:
Prof.: Ing. Cristhian Garita Fonseca 12
![Page 13: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/13.jpg)
Constructores de la clase cont.. Se llama igual que la clase. No devuelve nada, ni siquiera void. Pueden existir varios, pero siguiendo las
reglas de la sobrecarga de funciones. De entre los que existan, tan sólo uno se
ejecutará al crear un objeto de la clase.
Prof.: Ing. Cristhian Garita Fonseca 13
![Page 14: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/14.jpg)
Constructores de la clase cont.. Dentro del código de un constructor
generalmente suele existir inicializaciones de variables y objetos, para conseguir que el objeto sea creado con dichos valores iniciales.
Prof.: Ing. Cristhian Garita Fonseca 14
![Page 15: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/15.jpg)
Properties de la clase.. Para manejar una de las características
de la POO, que es el encapsulamiento se deben crear los properties de cada atributo (set’s y get’s) de la clase.
Prof.: Ing. Cristhian Garita Fonseca 15
![Page 16: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/16.jpg)
Métodos de la clase.. Los métodos que tengan una clase tienen
que ser relacionado al tipo de clase que se desea hacer, por ejemplo si se desea construir una clase persona, se podría tener un método que me indique días vividos de la persona según el numero de años cumplidos
El caso erróneo sería por ejemplo, calcular capacidad de combustible (gasolina)
Prof.: Ing. Cristhian Garita Fonseca 16
![Page 17: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/17.jpg)
public class persona{ //definición de la claseprivate int edad; //Atributos de la clase
persona(int edad){ //Construtor de la clasethis.edad = edad;
}
public viod setEdad(int edad){ //properties de la clasethis.edad = edad;
}
public int getEdad(){return this.edad
}
public int diasVividos(){ //métodos de la clasereturn this.edad * 365;
}} Prof.: Ing. Cristhian Garita Fonseca 17
![Page 18: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/18.jpg)
Prof.: Ing. Cristhian Garita Fonseca 18
Uso del this en Java this es un apuntador al objeto mismo
donde este y si sirve para evitar ambigüedades por que en el método que usas por que diferencia el atributo base de la clase del atributo base que entra como parámetro.
![Page 19: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/19.jpg)
Prof.: Ing. Cristhian Garita Fonseca 19
Uso del super en Java super es una palabra reservada de java
que me ayuda a llamar métodos de la clases superiores en la que me encuentro en caso de ser necesario.
![Page 20: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/20.jpg)
Prof.: Ing. Cristhian Garita Fonseca 20
Herencia Es la propiedad que permite a los
objetos construirse a partir de otros objetos.La clase base contiene todas las características comunes. Las sub-clases contienen las Características de la clase base mas las características particulares de la sub-clase
![Page 21: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/21.jpg)
Prof.: Ing. Cristhian Garita Fonseca 21
Vehículo
Punto
Figura
Animal
(1,3)
(2,2)
(2,1)
(5,2.5)
21
![Page 22: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/22.jpg)
Prof.: Ing. Cristhian Garita Fonseca 22
Trabajar con clases, herencia y sus respectivos constructores
22
![Page 23: Ing. Cristhian Garita Fonseca E-mail: stebanmac@gmail.com Tel: 2000-7786](https://reader035.vdocuments.net/reader035/viewer/2022081421/5665b4811a28abb57c92122e/html5/thumbnails/23.jpg)
Creación de 10 clases en java, las dos primeras con los siguientes atributos y las otras 8 deben ser escogidas por el estudiante
Prof.: Ing. Cristhian Garita Fonseca 23
Vehículo Factura
MarcaModeloEstilo (sedan, 4x4)AñoVelocidadMaximaColor
NumeroFacturaNombreEmpresaSubTotalImpuestos