You are on page 1of 17

CLASE OBJETO

1. Definir una clase que represente a un coche. En la definicin se debe incluir el modelo,
el color, si la pintura es metalizada o no, la matricula, el tipo de coche que puede ser:
mini utilizado, familiar o deportivo, ao de fabricacin, modalidad del seguro que
puede ser a terceros o a todo riesgo.
Se desea imprimir el modelo y el color de un coche dado. Para ello se puede escribir un
modelo que acepte un objeto de la clase coche. Si dicha referencia no es null el
mtodo deber imprimir el modelo y el color. Si no es null el mtodo no har nada.
Aadir a la clase coche un mtodo de nombre imprimircoche que imprima el modelo y
el color.
Escribir un programa que tenga una instancia de mi clase coche, que es un rollsroyse
de color dorado. El programa debe imprimir un mensaje que diga de que modelo y
color es mi coche.
SOLUCION:
-

Main:
Coche miCoche = new Coche();
miCoche.modelo="Rollsroyce";
miCoche.color="Dorado";
miCoche.imprimirCoche();

Clase Coche:
package proyecto.pkg1;
enum TipoCoche {MINIUTILIARIO, FAMILIAR, DEPORTIVO};
enum TipoSeguro {A_TERCEROS, A_TODO_RIESGO};
public class Coche {
String modelo;
String color;
String matricula;
boolean esMetalizado;
int aoFabricacion;
TipoCoche tipo;
TipoSeguro seguro;
public void imprimeCoche (Coche a){
if(a!=null){
System.out.println("El coche: " + a.modelo + "es de color: " + a.color);
} }
public void imprimirCoche(){
System.out.println("El coche es: " + modelo + " es de color: " + color);
}

2. Escriba un programa que disponga de una clase para representar las asignaturas de
una carrera. Una asignatura tiene un nombre, un cdigo numrico, y el curso en el cual
se imparte. Los valores iniciales han de proporcionarse en el constructor, la clase ah de
tener mtodos para obtener los valores de los atributos el programa a de construir un
objeto con los siguientes valores: nombre=matemtica, cdigo=1017 y curso=1. A
continuacin el programa a de imprimir los valores del objeto.
SOLUCION:
-

Main:
Asignatura objt = new Asignatura("Matematica", 1, 1017);
System.out.println("el nombre es: " + objt.imprimirnombre());
objt.imprimircurso();
objt.imprimircodigo();

Clase Asignatura:
public class Asignatura {
private String nombre;
private int curso;
private int codigo;
public Asignatura(String nombre, int curso, int codigo) {
this.nombre = nombre;
this.curso = curso;
this.codigo = codigo;
}
public String imprimirnombre(){
return nombre;
}
public int imprimircurso(){
System.out.println("EL curso es: " + curso);
return curso;
}
public int imprimircodigo(){
System.out.println("El codigo es: " + codigo);
return codigo;
}

3. Define una clase que represente un punto en un espacio bidimensional. La clase debe
disponer de un constructor con las coordenadas del punto y mtodos accesorios a las
coordenadas. escriba un programa que instancie 4 puntos, el primero situado en el
origen, el segundo situado (5,3), el tercero en (2,-1) y para el cuarto es punto medio
entre el segundo y el tercero.
SOLUCION:
-

Main:
Puntos objPunto = new Puntos(0, 0);
Puntos objPunto1 = new Puntos(5, 3);
Puntos objPunto2 = new Puntos(2, -1);
Puntos objPunto3 = new Puntos((objPunto1.getX()+objPunto2.getX())/2,
(objPunto1.getY()+objPunto2.getY())/2);
System.out.println("Punto 3 ; " + objPunto3.getX()+ objPunto3.getY());

Clase Punto:
public class Puntos {
private int x;
private int y;
public Puntos(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}

4. Escriba una clase que represente un semforo que podr estar en rojo, mbar o verde.
La clase tendr un atributo llamado color inicialmente a rojo. Tambin dispondr de
un atributo que determine si el semforo est parpadeando. Inicialmente el semforo
no est parpadeando. Escriba un programa que instancie un semforo de la clase
semforo del ejemplo anterior, el programa cambiara por pantalla el color del
semforo. Luego pondr el semforo en mbar y volver a imprimir el color.
SOLUCION:
-

Main:
Semaforo miSemaforo = new Semaforo();
System.out.println("El color es: " + miSemaforo.color);
miSemaforo.color=colorSemaforo.AMBAR;
System.out.println("El nuevo color es: " + miSemaforo.color);

Clase Semforo:
package proyecto.pkg1;
enum colorSemaforo {ROJO, AMBAR, VERDE};
public class Semaforo {
colorSemaforo color = colorSemaforo.ROJO;
boolean estaParpadeando=false; }

5. Ejercicio alumno:
SOLUCION:
-

Main:
Alumno objt1 = new Alumno("Carlos");
Alumno objt2 = new Alumno("Pedro");
Alumno objt3 = new Alumno("Eva");
System.out.println("Hay : " + Alumno.numAlumno);

Clase Alumno:
private String nombre;
static int numAlumno;
public Alumno(String nombre) {
this.nombre = nombre;
numAlumno++;
}

6. Escribir un programa para representar el consumo de energa de una instalacin


elctrica. Para ello, se dispondr de una clase que represente los aparatos conectados
en la instalacin. Cada aparato tiene un consumo elctrico determinado, al encender
un aparato elctrico el consumo de energa se incrementara en la potencia de dicho
aparato. Al apagarlo se decrementa el consumo inicialmente los aparatos estn todos
apagados. Adems se desea consultar el consumo total de la instalacin. Hacer un
programa que declare 3 aparatos elctricos, una bombilla de 100vatios, un radiador de
2000vatios y una plancha de 1200vatios. El programa imprimir el consumo.
Posteriormente se enciende la bombilla y la plancha. Luego se apaga la plancha y se
enciende el radiador y se vuelve imprimir el consumo.
SOLUCION:
-

Main:
AparatoElectrico bombilla = new AparatoElectrico(100);
AparatoElectrico radiador = new AparatoElectrico(2000);
AparatoElectrico plancha = new AparatoElectrico(1200);
System.out.println("El consumo: " + AparatoElectrico.consumoTotal);
bombilla.encender();
plancha.encender();
System.out.println("El consumo: " + AparatoElectrico.consumoTotal);
plancha.apagado();
radiador.encender();
System.out.println("El consumo: " + AparatoElectrico.consumoTotal);

Clase Aparatoelectrico:
private double potencia;
private boolean encendido;
static double consumoTotal;
public AparatoElectrico(double potencia) {
this.potencia = potencia;
this.encendido = false;
}
public void encender(){
if(!encendido){
encendido=true;
consumoTotal+=potencia;
} }
public void apagado(){
if(encendido){
encendido=false;
consumoTotal-=potencia;
} }
private static double nomtoConsumo(){
return consumoTotal; }

CLASE OBJETO CON FUNCIONES


7. Desarrolla una clase alumno que tenga 4 atributos de tipo string cdigo, apnombre,
sexo y carrera, tenga un constructor con 4 parmetros de tipo string para que inicialice
los 4 atributos, tenga un get and set para cada atributo. Desarrolle una clase llamada
matricula tenga un vector de tipo alumno., un atributo de entero para controlar el
tamao del vector:
- Un mtodo de insertar que reciba un parmetro de tipo alumno para ir agregando
a los alumnos y no devuelve nada.
- Un mtodo eliminar que reciba un parmetro de tipo alumno para eliminar un
alumno y no devuelve nada.
- Un mtodo buscar que reciba un parmetro de tipo alumno para buscar el
elemento a eliminar y no devuelve nada.
- Un mtodo visualizar para imprimir el contenido del vector.
Desarrollar en el main, cree e instancia 3 alumnos, cree e instancie una matrcula.
Solucin:
-

Main:
Alumno obj1 = new Alumno("1250", "Juan Perez" , "M" , "Ing. Civil" );
Alumno obj2 = new Alumno("1251", "Jose Ruiz" , "M" , "Ing. de Sistemas" );
Alumno obj3 = new Alumno("1252", "Eva Fernandez" , "F" , "Derecho" );
Matricula objMatricula = new Matricula();
objMatricula.insertar(obj1);
objMatricula.insertar(obj2);
objMatricula.insertar(obj3);
objMatricula.visualizar();
System.out.println("+++++++++++++++++++++++++++++");
objMatricula.eliminar(obj2);
objMatricula.visualizar();

Clase Alumno:
private String codigo;
private String apenombre;
private String sexo;
private String carrera;
public Alumno(String codigo, String apenombre, String sexo, String carrera) {
this.codigo = codigo;
this.apenombre = apenombre;
this.sexo = sexo;
this.carrera = carrera;
}
public String getCodigo() {
return codigo; }

public void setCodigo(String codigo) {


this.codigo = codigo; }
public String getApenombre() {
return apenombre; }
public void setApenombre(String apenombre) {
this.apenombre = apenombre; }
public String getSexo() {
return sexo; }
public void setSexo(String sexo) {
this.sexo = sexo;
}
public String getCarrera() {
return carrera; }
public void setCarrera(String carrera) {
this.carrera = carrera;
}
-

Clase Matricula:
Alumno objAlumno[] = new Alumno[100];
private int tope;
public void insertar(Alumno objA){
objAlumno[tope++]=objA; }
public void eliminar(Alumno objA){
int i=this.buscar(objA);
if(i>=0){
tope--;
for (int j = i; j < tope; j++) {
objAlumno[j]=objAlumno[j+1];
} } }
public int buscar(Alumno objA){
for (int i = 0; i < tope; i++) {
if(objAlumno[i].getCodigo()==objA.getCodigo()){
return i; } }
return -1; }
public void visualizar(){
for (int i = 0; i < tope; i++) {
System.out.println("Codigo: " + objAlumno[i].getCodigo());
System.out.println("Nombre: " + objAlumno[i].getApenombre());
System.out.println("Sexo: " + objAlumno[i].getSexo());
System.out.println("Carrera: " + objAlumno[i].getCarrera());
}
}

8. Desarrolle una clase llamada asignatura , que tenga:


- Dos atributos privados de tipo int (identificador) y de tipo doble (calificacin).
- Tenga un constructor con un parmetro de tipo int.
- Tenga un get para cada uno de los atributos.
- Tenga un set para la calificacin.
Desarrolle una clase llamada alumno que:
- Tenga tres atributos privados de tipo asignatura.
- Tenga un constructor con tres parmetro de tipo asignatura que inicialice los tres
atributos.
- Tenga un constructor con tres parmetros de tipo int que inicialice los tres
atributos.
- Tenga un get para cada uno de los atributos.
Desarrollar una clase llamada profesor que:
- Tenga un mtodo poner notas que recibe un parmetro de tipo alumno y no
devuelve nada, pondr una calificacin aleatoria a cada uno de las asignaturas del
alumno.
- Tenga un mtodo calcular media que recibe un parmetro de tipo alumno
devuelva un double.
Desarrollar en el main:
- Cree e inicialice tres asignaturas.
- Cree un alumno con tres asignaturas.
- Cree un profesor que le ponga calificaciones al alumno y muestre por pantalla la
media.
Solucin:
-

Media:
Asignatura Programacion = new Asignatura(1);
Asignatura Estadistica = new Asignatura(2);
Asignatura Matematica = new Asignatura(3);
Alumno objAlumno = new Alumno(Programacion, Estadistica, Matematica);
Profesor objProfesor = new Profesor();
objProfesor.ponerNotas(objAlumno);
System.out.println("La media es: " +
objProfesor.calcularMedia(objAlumno));

Asignatura:
private int identificador;
private double calificacion;
public Asignatura(int identificador) {
this.identificador = identificador;
}
public int getIdentificador() {
return identificador;
}
public double getCalificacion() {
return calificacion;
}
public void setCalificacion(double calificacion) {
this.calificacion = calificacion;
}

Alumno:
private Asignatura asign1;
private Asignatura asign2;
private Asignatura asign3;
public Alumno(Asignatura asign1, Asignatura asign2, Asignatura asign3) {
this.asign1 = asign1;
this.asign2 = asign2;
this.asign3 = asign3;
}
public Alumno(int asign1, int asign2, int asign3) {
this.asign1 = new Asignatura(asign1);
this.asign2 = new Asignatura(asign2);
this.asign3 = new Asignatura(asign3);
}
public Asignatura getAsign1() {
return asign1;
}
public Asignatura getAsign2() {
return asign2;
}
public Asignatura getAsign3() {
return asign3;
}

Profesor:
public void ponerNotas(Alumno objA){
objA.getAsign1().setCalificacion(Math.random()*10);
objA.getAsign2().setCalificacion(Math.random()*10);
objA.getAsign3().setCalificacion(Math.random()*10);
}
public double calcularMedia(Alumno objA){
double nota1 = objA.getAsign1().getCalificacion();
double nota2 = objA.getAsign2().getCalificacion();
double nota3 = objA.getAsign3().getCalificacion();
return (nota1+nota2+nota3)/3;
}

HERENCIA
1. Ejercicio
SOLUCION:
-

Main:
Alumno objAlumno = new Alumno("Ing. de Sistemas", "Kattya", "Grados");
System.out.println("Datos del alumno: " + objAlumno.toString());
Docente objDocente = new Docente("Algoritmo", "Nixon", "ALva");
System.out.println("Datos del docente: " + objDocente.toString());

Clase Persona:
protected String nombres;
protected String apellidos;
public Persona(String nombres, String apellidos) {
this.nombres = nombres;
this.apellidos = apellidos; }
public String toString(){
return nombres + "," + apellidos; }
public String getNombres() {
return nombres; }
public void setNombres(String nombres) {
this.nombres = nombres; }
public String getApellidos() {
return apellidos; }
public void setApellidos(String apellidos) {
this.apellidos = apellidos; }

Clase Alumno:
public class Alumno extends Persona{
private String carrera;
public Alumno(String carrera, String nombres, String apellidos) {
super(nombres, apellidos);
this.carrera = carrera; }
public String toString(){
return super.toString() + "," + carrera;

Clase Docente:
public class Docente extends Persona{
private String especialidad;
public Docente(String especialidad, String nombres, String apellidos) {
super(nombres, apellidos);
this.especialidad = especialidad;
}
public String toString(){
return super.toString() + "," + especialidad;
}

9. Realice una clase, de nombre examen, para guardar informacin sobre los exmenes
de un centro educativo. La informacin que se guarda de un examen es: nombre de la
asignatura, el aula, la fecha y la hora. Para guardar la fecha y la hora hay que realizar
dos clases: Fecha y Hora.
La clase fecha guarda da, mes y ao, todos los valores se reciben en el constructor por
parmetro. Adems, esta clase debe tener un mtodo que devuelva cada una de los
atributos y un mtodo toString que devuelva la informacin de la fecha en forma
string.
La clase hora que da la hora y minuto, tambin recibe los valores para los atributos por
parmetro en el constructor, tiene mtodos que devuelven cada uno de los atributos y
un mtodo toString.
Escriba una aplicacin que crea un objeto de tipo examen, lo muestre por pantalla,
modifique su fecha y hora, y lo vuelva a mostrar por pantalla.
Solucin
-

Main:

Fecha objFecha = new Fecha(29, 06, 2015);


Hora ObjHora = new Hora(12, 30);
Examen objEx = new Examen("ESTADISTICA", "PAB7", objFecha, ObjHora);
System.out.println(" " + objEx.toString());
objFecha.setDia(15);
objFecha.setMes(07);
objFecha.setAo(2016);
ObjHora.setHora(23);
ObjHora.setMin(45);
System.out.println("-----------------");
System.out.println(" " + objEx.toString());
-

Clase Examen:

private String nombreAsignatura;


private String aula;
private Fecha fecha;
private Hora hora;
public Examen(String nombreAsignatura, String aula, Fecha fecha, Hora hora) {
this.nombreAsignatura = nombreAsignatura;
this.aula = aula;
this.fecha = fecha;
this.hora = hora;
}
@Override
public String toString(){
return "Asignatura: " + nombreAsignatura +
"\n Aula: " + aula +
"\n Fecha: " + fecha.toString() +
"\n Hora: " + hora.toString();
}

Clase Fecha:

private int dia;


private int mes;
private int ao;
public Fecha(int dia, int mes, int ao) {
this.dia = dia;
this.mes = mes;
this.ao = ao;
}
public int getDia() {
return dia; }
public int getMes() {
return mes; }
public int getAo() {
return ao; }
public void setDia(int dia) {
this.dia = dia; }
public void setMes(int mes) {
this.mes = mes; }
public void setAo(int ao) {
this.ao = ao; }
@Override
public String toString(){
return dia + "/" + mes + "/" + ao; }
Clase Hora:
private int hora;
private int min;
public Hora(int hora, int min) {
this.hora = hora;
this.min = min; }
public int getHora() {
return hora; }
public int getMin() {
return min; }
public void setHora(int hora) {
this.hora = hora; }
public void setMin(int min) {
this.min = min; }
@Override
public String toString(){
return hora + ":" + (min<10?"0":"") + min;
}

10. Escriba una clase multimedia para almacenar objetos de tipo multimedia (pelcula,
discos, mp3). Esta clase contiene ttulos, autor, formato y duracin como atributos. El
formato puede ser uno de los siguientes:
- WAV, MP3, MIDI, AVI, MPG, DVD, EA
De todos los atributos se pasa por parmetro en el momento de crear el objeto. Esta
clase tiene adems un mtodo para devolver cada uno de los atributos y un mtodo
toString que devuelva la informacin del objeto. Por ultimo un mtodo EQUALS que
recibe un objeto de tipo multimedia y devuelve TRUE en caso en caso que el ttulo y el
autor sean iguales a los del objeto que llama al mtodo y FALSE en caso contrario.
Solucin:
-

Main:

Multimedia obj1=new Multimedia("Tu de que vas", "Los 4", 3,


tipoFormato.WAV);
Multimedia obj2=new Multimedia("Tu de que vas", "Los 4", 3,
tipoFormato.WAV);
if(obj1.EQUALS(obj2)){
System.out.println("Son iguales"); }
else{
System.out.println("Son diferentes"); }
-

Clase Multimedia:
enum tipoFormato{WAV,MP3,MIDI,DVD,AVI,EVA};
public class Multimedia {
private String titulo;
private String autor;
private int duracion;
private tipoFormato formato;
public Multimedia(String titulo, String autor, int duracion, tipoFormato formato) {
this.titulo = titulo;
this.autor = autor;
this.duracion = duracion;
this.formato = formato; }
public String getTitulo() {
return titulo; }
public String getAutor() {
return autor; }
public int getDuracion() {
return duracion; }

public tipoFormato getFormato() {


return formato; }
@Override
public String toString(){
return "Titulo" + titulo +
"de" + autor +
"formato" + formato +
"duracion" + duracion;

public boolean EQUALS(Multimedia obja){


if(titulo.equals(obja.titulo)&&autor.equals(obja.autor)){
return true; }
else {
return false; } }
11. Escribe una clase pelcula que hereda de la clase multimedia anterior. La clase pelcula
tiene adems de los atributos heredados un actor principal y una actriz principal. Se
permite que uno de los dos sean nulos pero no los dos. La clase debe tener dos
mtodos para obtener los dos nuevo atributos y debe sobrescribir el mtodo toString
para que devuelva, adems de la informacin heredada, la nueva informacin.
Clase Pelicula
public class Pelicula extends Multimedia{
private String actorPrincpal;
private String actrizPrincipal;
public Pelicula(String actorPrincpal, String actrizPrincipal, String titulo, String
autor, int duracion, tipoFormato formato) {
super(titulo, autor, duracion, formato);
this.actorPrincpal = actorPrincpal;
this.actrizPrincipal = actrizPrincipal;
}

12. Escriba una clase lista multimedia para almacenar objetos de tipo multimedia. La clase
debe tener un atributo que sea un alrrays de objeto multimedias y un entero para
contar cuantos objetos hay almacenados. Adems tiene un constructor y los siguientes
mtodos:
El constructor recibe por parmetro un entero, indicando el nuevo nmero de objetos
que va almacenar.
- Int size (): Devuelve nmero de objetos que hay en la lista.
- Boolean add (Multimedia m): Aade un objeto al final de la lista y devuelve TRUE,
en caso de que la lista est llena devuelve FALSE.
- Multimedia (int posicin): Devuelve el objeto situado en la posicin especificada.
Clase ListaMultimedia
private Multimedia[]lista;
private int contador;
public ListaMultimedia(int nuevoTamao){
lista=new Multimedia[nuevoTamao];
contador=0;
}
public int size(){
return contador;
}
public boolean llena(){
if(contador==lista.length){
return true;
}
else{
return false;
}}
public boolean add(Multimedia m){
if(llena()){
return false;
}
else{
lista[contador++]=m;
return true;
}
}

You might also like