Trabajo Academico

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Facultad de Ingeniería de Sistemas y Mecánica

Eléctrica

Escuela Profesional de Ingeniería de Sistemas

Trabajo
académico

NOMBRE: FIORELA ESTELA AMBULAY

CURSO: TALLER DE PROGRAMACION

CICLO: IV
Programación orientada a objetos
• Ejercicio 1
¿Cuáles serian los atributos de la clase PilotoDeFormula1? ¿Se te ocurren algunas
instancias de esta clase?
Clase:

Concepto abstracto que de nota una serie de cualidades, por ejemplo, PilotoDeFormula1.

Instancia:

Objeto palpable, que se deriva de la con creación de una clase, por ejemplo, mi piloto.

Atributos:

Conjunto de características que comparten los objetos de una clase, por ejemplo, para la clase
PilotoDeFormula1 tendríamos, Nombre, DNI, Código, Grado_ profesional.

Ejemplo en código: PilotoDeFormula1

public class PilotoDeFormula1

// atributos

private String Nombre;

privaate String DNI;

private String codigo;

private String Grado_profesional;

A continuación, creamos varios objetos de esta clase.

public class PilotoDeFormula1

public static void main (String [] args) {

PilotoDeFormula1 mipiloto= new PilotoDeFormula1();

PilotoDeFormula1 piloto= new PilotoDeFormula1();

PilotoDeFormula1 pilot= new PilotoDeFormula1();

}
• Ejercicio 2
¿Cómo se utilizan estos modificadores que No son de acceso? De ejemplos.
✓ Static
Sirve para crear miembros que pertenecen a la clase, y no a una instancia de la clase.
Esto implica, entre otras cosas, que no es necesario crear un objeto de la clase para
poder acceder a estos atributos y métodos.
En ocasiones es necesario o conveniente generar elementos que tomen un mismo
valor para cualquier número de instancias generadas o bien invocar/llamar métodos
sin la necesidad de generar instancias, y es bajo estas dos circunstancias que es
empleado el calificador static.
Dos aspectos característicos de utilizar el calificador static en un elemento Java son
los siguientes:
– No puede ser generada ninguna instancia (uso de new) de un elemento static puesto
que solo existe una instancia.
– Todos los elementos definidos dentro de una estructura static deben ser static ellos
mismos, o bien, poseer una instancia ya definida para poder ser invocados.
public class Mates {
//Atributo de la clase Mates static
public static float pi = 3.14f;
//Podemos acceder a el mediante el nombre de la clase
public static void main(String[] args) {
System.out.println(Mates.pi);
}
}

✓ Final
Indica que una variable, método o clase no se va a modificar, lo cuál puede ser útil para
añadir más semántica, por cuestiones de rendimiento, y para detectar errores.

• Si una variable se marca como final, no se podrá asignar un nuevo valor a la


variable.
• Si una clase se marca como final, no se podrá extender la clase.
• Si es un método el que se declara como final, no se podrá sobrescribir.
Algo muy a tener en cuenta a la hora de utilizar este modificador es que, si es un objeto
lo que hemos marcado como final, esto no nos impedirá modificar el objeto en sí, sino
tan sólo usar el operador de asignación para cambiar la referencia. Por lo tanto:
// El siguiente código NO funcionaría:
public class Ejemplo {
public static void main(String[] args) {
final String cadena = "Hola";
cadena = new String("Adios");
}
}

// El siguiente código SI funcionaría:


public class Ejemplo {
public static void main(String[] args) {
final String cadena = "Hola";
cadena.concat(" mundo");
}
}

✓ Abstract
La palabra clave abstract indica que no se provee una implementación para un cierto
método, sino que la implementación vendrá dada por las clases que extiendan la clase
actual. Una clase que tenga uno o más métodos abstract debe declararse
como abstract a su vez.
✓ Synchronized
En caso de que necesitemos atomicidad podemos recurrir a synchronized o a cosas
más avanzadas, como las clases del API java.util.concurrent de Java 5.
synchronized se diferencia de volatile entre otras cosas en que este modificador se
utiliza sobre bloques de código y métodos, y no sobre variables. Al
utilizar synchronized sobre un bloque se añade entre paréntesis una referencia a un
objeto que utilizaremos a modo de lock.
//Ejemplo de syncrhonized sobre un bloque de codigo
int contador;
public void aumentar() {
synchronized(this) {
contador++;
}
}
//Ejemplo de syncrhonized sobre un metodo
int contador;

public void synchronized aumentar() {


contador++;
}

✓ Transient
Las variables Java transient sirven para demarcar el carácter temporal o transitorio de
dicha variable, es decir, que no siempre se tendrá acceso al valor de la variable.
✓ Volatile
volatile es más simple y más sencillo que synchronized, lo que implica también un
mejor rendimiento. Sin embargo, volatile, a diferencia de synchronized, no
proporciona atomicidad (que o se ejecuten todos los pasos o ninguno), lo que puede
hacer que sea más complicado de utilizar.
Una operación como el incremento, por ejemplo, no es atómica. El operador de
incremento se divide en realidad en 3 instrucciones distintas (primero se lee la
variable, después se incrementa, y por último se actualiza el valor) por lo que algo
como lo siguiente podría causarnos problemas a pesar de que la variable sea volatile:

//Ejemplo de volatile sobre una variable


volatile int contador;

public void aumentar () {


contador++;
}
}

✓ Native
EL modificador native indica que un método es implementado en una plataforma
dependiente, como a veces ocurre en C. Native es un modificador y solo puede ser
aplicado a métodos, ni a clase, ni a variables, solo a métodos. Tomemos nota de que
el cuerpo de los métodos marcados como native pueden terminar en (;) como en los
métodos abstract, indicando que la implementación está omitida.

• Ejercicio 3
¿Cuáles serian los atributos de la clase vivienda? ¿Qué subclases se te ocurren?
Clase: vivienda

Atributos: nombre_casa, tamaño, precio, color.

Subclases:

Estados:

Atributos: área_terreno,N°pisos,N°dormitorios

Comportamiento:

Atributos: vender, alquilar.

Métodos: mostrarestado (), habitar (), deshabitar (), pintar ().

• Ejercicio 4
Haz una lista con los atributos que podría tener la clase caballo. A continuación,
haz una lista con los posibles métodos (acciones asociadas a los caballos).
Clase: caballo

Atributos: Nombre, Color, Raza, sexo.

Metodos: comen, relincha

public class caballo {

// atributos //

private String Nombre;

private String color,

private String raza,

private String sexo;

// métodos //

// constructor//

public caballo(String Nombre, String color, String raza, String sexo) {

this.Nombre = Nombre;
this.color = color;
this.raza = raza;
this.sexo = sexo; }
} // getter and setter

public String getNombre () {

return Nombre;

} public void setNombre(String Nombre) {

this.Nombre = Nombre; }

/hace que el caballo relinche/

public void relincha() {

System. out.println("hihihihihhi");}

/Hace que el caballo coma.


A los caballos les gusta elpasto, si le damos otra comida* la rechazará. void

public void come (String comida) {

if (comida. equals("pasto"))

{System. out.println("Hmmmm, gracias");else

{System. out.println("Lo siento, yo solo como pasto");}}


• Ejercicio 6
Lista los atributos de la clase Alumno. ¿Sería nombre uno de los atributos de la
clase? Razona tu respuesta.
Clase: Alumno

Atributos: Nombre, Apellido_paterno, Apellido_materno,Edad,Telefono.


• Linkografía
https://sekthdroid.wordpress.com/about/
https://desarrolloweb.com/articulos/metodos-atributos-static-
poo.html
http://lineadecodigo.com/java/variables-java-transient/

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy