Documente Academic
Documente Profesional
Documente Cultură
What Is an Object?
Los objetos son clave para entender la tecnologa orientada a objetos. Mire a
su alrededor en este momento y usted encontrar muchos ejemplos de
objetos del mundo real: su perro, su escritorio, su televisor, su bicicleta.
Objetos del mundo real comparten dos caractersticas: Todos tienen estado y
comportamiento. Los perros tienen estado (nombre, color, raza, hambre) y el
comportamiento (ladridos, ir a buscar, meneando la cola). Las bicicletas
tambin tienen estado (velocidad actual, cadencia de pedaleo actual,
velocidad actual) y comportamiento (el cambio de marchas, el cambio de la
cadencia de pedaleo, la aplicacin de los frenos). Identificar el estado y el
comportamiento de los objetos del mundo real es una gran manera de
empezar a pensar en trminos de la programacin orientada a objetos.
Tome un minuto en este momento para observar los objetos del mundo real
que estn en su rea inmediata. Para cada objeto que se ve, hgase dos
preguntas: "Qu estados posibles este objeto puede estar?" y "Qu posible
comportamiento puede realizar este objeto?". Asegrese de anotar sus
observaciones. Mientras lo haces, te dars cuenta de que los objetos del
mundo real varan en complejidad; su lmpara de escritorio puede tener slo
dos estados posibles (dentro y fuera) y dos comportamientos posibles
(encender, apagar), pero su radio de escritorio podra tener otros estados
(encendido, apagado, volumen actual, la estacin actual) y comportamiento
(encender , apagar, subir el volumen, bajar el volumen, buscar, analizar y
ajustar). Tambin puede observar que algunos de los objetos, a su vez,
tambin contener otros objetos. Estas observaciones del mundo real todo se
A software object.
What Is a Class?
En el mundo real, a menudo encontrar muchos objetos individuales todos los
de la misma clase. Puede haber miles de otras bicicletas en existencia, todas
de la misma marca y modelo. Cada bicicleta se construy a partir del mismo
conjunto de planos y, por tanto, contiene los mismos componentes. En
trminos de orientacin a objetos, se dice que la bicicleta es una instancia de
la clase de objetos conocidos como bicicletas. Una clase es el anteproyecto de
la que se crean los objetos individuales.
La siguiente clase de bicicletas es una posible implementacin de una
bicicleta:
class Bicycle {
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue) {
cadence = newValue;
}
void changeGear(int newValue) {
gear = newValue;
}
void speedUp(int increment) {
speed = speed + increment;
}
void applyBrakes(int decrement) {
speed = speed - decrement;
}
void printStates() {
System.out.println("cadence:" +
cadence + " speed:" +
speed + " gear:" + gear);
}
}
La sintaxis del lenguaje de programacin Java buscar nuevo para usted, pero
el diseo de esta clase est basado en la discusin previa de los objetos de la
bicicleta. Los campos de cadencia, velocidad y engranajes representan el
estado del objeto, y los mtodos (changeCadence, ChangeGear, aceleracin,
etc) definen su interaccin con el mundo exterior.
Usted puede haber notado que la clase de bicicletas no contiene un mtodo
main. Esto se debe a que no es una aplicacin completa; es slo el modelo
para las bicicletas que pueden beused en una aplicacin. La responsabilidad de
crear y utilizar nuevos objetos de bicicletas pertenece a alguna otra clase en la
aplicacin.
Aqu est una clase BicycleDemo que crea dos objetos de bicicletas separadas
e invoca sus mtodos:
class BicycleDemo {
public static void main(String[] args) {
// Create two different
// Bicycle objects
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();
// Invoke methods on
// those objects
bike1.changeCadence(50);
bike1.speedUp(10);
bike1.changeGear(2);
bike1.printStates();
bike2.changeCadence(50);
bike2.speedUp(10);
bike2.changeGear(2);
bike2.changeCadence(40);
bike2.speedUp(10);
bike2.changeGear(3);
bike2.printStates();
}
}
What Is Inheritance?
Diferentes tipos de objetos a menudo tienen una cierta cantidad en comn con
cada otro. Las bicicletas de montaa, bicicletas de carretera y bicicletas en
tndem, por ejemplo, todos comparten las caractersticas de las bicicletas
(velocidad actual, cadencia de pedaleo actual, velocidad actual). Sin embargo,
cada uno tambin define caractersticas adicionales que las hacen diferentes:
las bicicletas tndem tienen dos asientos y dos juegos de manillar; bicicletas
de carretera tienen manillar de cada; algunas bicicletas de montaa tienen un
anillo de cadena adicional, dndoles una relacin de transmisin ms baja.
Programacin orientada a objetos permite que las clases hereden estado y el
comportamiento de uso comn de otras clases. En este ejemplo, la bicicleta se
convierte ahora en la superclase ofMountainBike, RoadBike, y TandemBike.
En el lenguaje de programacin Java, se permite que cada clase tiene una
superclase directos, y cada superclase tiene el potencial para un nmero
ilimitado de subclases:
Una jerarqua de clases de bicicleta.
What Is an Interface?
Como ya has aprendido, objetos definen su interaccin con el mundo exterior
a travs de los mtodos que se exponen. Mtodos forman la interfaz del objeto
con el mundo exterior; los botones de la parte frontal de su aparato de
televisin, por ejemplo, son la interfaz entre el usuario y el cableado elctrico
en el otro lado de la carcasa de plstico. Se presiona el botn "Power" para
encender el televisor encendido y apagado.
En su forma ms comn, una interfaz es un grupo de mtodos relacionados
con cuerpos vacos. El comportamiento de una bicicleta, si se especifica como
una interfaz, podra aparecer como sigue:
interface Bicycle {
// wheel revolutions per minute
void changeCadence(int newValue);
void changeGear(int newValue);
void speedUp(int increment);
void applyBrakes(int decrement);
}
//
//
//
//
What Is a Package?
Un paquete es un espacio de nombres que organiza un conjunto de clases e
interfaces relacionadas. Conceptualmente se puede pensar en paquetes como
algo similar a diferentes carpetas de su ordenador. Es posible guardar las
pginas HTML en una carpeta, las imgenes en otro, y secuencias de
comandos o aplicaciones en otro. Debido a que el software escrito en el
lenguaje de programacin Java puede estar compuesta de cientos o miles de
clases individuales, tiene sentido mantener las cosas organizadas mediante la
colocacin de clases e interfaces relacionadas en paquetes.
La plataforma Java proporciona una biblioteca de clases enorme (un conjunto
de paquetes) adecuado para su uso en sus propias aplicaciones. Esta biblioteca
se conoce como el "Application Programming Interface", o "API" para
abreviar. Sus paquetes representan las tareas ms comnmente asociados con
la programacin de propsito general. Por ejemplo, un objeto String contiene
el estado y el comportamiento de las cadenas de caracteres; un objeto File
Concepts
Questions
1.
2.
3.
4.
5.
6.
7.
8.
9.
1. Create new classes for each real-world object that you observed at the
beginning of this trail. Refer to the Bicycle class if you forget the
required syntax.
2. For each new class that you've created above, create an interface that
defines its behavior, then require your class to implement it. Omit one
or two methods and try compiling. What does the error look like?
1. Crear nuevas clases para cada objeto del mundo real que usted
observ al inicio de esta ruta. Consulte la clase Bicycle si olvida la
sintaxis necesaria.
2. Para cada nueva clase que ha creado anteriormente, crear una
interfaz que define su comportamiento, entonces requieren de su
clase para implementarlo. Omitir uno o dos mtodos y tratar de
compilar. Qu aspecto tiene el error como?
1. Your answers will vary depending on the real-world objects that you
are modeling.
2. Your answers will vary here as well, but the error message will
specifically list the required methods that have not been
implemented.
1. Sus respuestas pueden variar dependiendo de la-objetos del mundo real que se est
modelando.
2. Sus respuestas variarn aqu tambin, pero el mensaje de error, aparecer una lista
especficamente los mtodos necesarios que no se han aplicado.