Sie sind auf Seite 1von 7

UNIDAD 1 FASE 1 APORTE INDIVIDUAL PROGRAMACION

ORIENTADA A OBJETOS

Presentado por: Jorge Eliecer Aguilar Barros

Cdigo: 84083197

Presentado a: lvaro Ivn Ramrez posada.

Grupo: 301403_48

UNAD
Escuela de Ciencias bsicas ingeniera y tecnologa.
Programacin Orientada a Objetos

Septiembre 2017
Los tipos de clase
El conocimiento de las clases en Java es fundamental, ya que todo gira entorno a
ellas. Un buen conocimiento de ellas nos permitir realizar programas que
cumplan con lo que deseamos. Crear una clase es sencillo, se hace lo siguiente:

[modificador] class [nombre]

//atributos y medios
}

El modificador es el tipo de clase que se est creando. De acuerdo a este


modificador, nuestra clase puede tener diferentes caractersticas. Segn cmo
necesitamos que funcione nuestra clase podemos elegir entre un tipo u otro.
En java existen 4 tipos de clases:

Public
Abstract
Final
Syncronizable

Clase Public:

Un tipo muy comn de clases es el tipo pblico o public. Tiene la caracterstica


de ser accesible desde cualquier otra clase, lo que nos permite trabajar con ella
fcilmente. Sin embargo, para acceder a ella se debe tener acceso al package al
que pertenece.

Se puede acceder a ellas directamente o por herencia, estando en el mismo


paquete, para acceder desde otros paquetes, primero hay que importarlos con la
sentencia import. Esto es til ya que por defecto las clases solamente son
accesibles por otras clases declaradas dentro del mismo paquete en el que sean
declarados.

Un detalle de las clases del tipo public es que el archivo con el que se guardan
debe tener el mismo nombre de la clase, de otra forma se presentarn error de
compilacin. Uno puede llamar a una clase public desde otra, si se encuentran en
la misma carpeta, de otra forma tendr dificultades para interactuar con esta.

Public class banco{

//cuerpo de la clase
}

Y al momento de grabar el programa, tendramos que ponerle al archivo el nombre


de banco.java.

Uno podra encontrar muy til el uso de las clases public cuando necesita usar
constantemente elementos de esa clase en el desarrollo de su programa en
general. Evita problemas cuando se encuentran en paquetes diferentes, ya que se
aplica una reutilizacin de ese cdigo.

Clases Abstract:

Este tipo de clases son muy tiles la programacin orientada a objetos que al
declarar estas clases solo se definen como se utiliza, sin la necesidad de
implementar mtodos, es decir se dejan incompletos para despus ser refinados
mediante el mecanismo de la herencia, se puede fijar un conjunto de mtodos y
atributos, que sern especializados ms adelante. Las clases abstractas trabajan
junto con los mtodos abstractos, los cuales estn vacos. Esto es muy til cuando
la implementacin es especfica pero cada usuario, cada uno puede
implementarlos como le parezca, pero sus mtodos deben tener los mismos
nombres que se dieron antes.
Por ejemplo al ver una declaracin de mtodos en una clase abstracta solo
podemos observar algunas lneas que solamente tienen los datos que van a recibir
los mtodos, pero el cdigo que ejecutara el mtodo no est, eso quiere decir que
podra estar en otro sitio. Se puede decir que es una base para la herencia, algo
as como indicando qu es lo que se tendr que hacer ms adelante.
Una clase abstracta tiene que derivarse obligatoriamente.

He aqu un ejemplo.
public abstract class Triangulo {

public abstract void Area_Triangulo(int b,int h);

public abstract void Permetro( int x,int y,int z);

Ntese que los mtodos slo contienen los parmetros que reciben, ms no tienen
implementadas las acciones que deberan realizar.

Cuando una clase contiene un mtodo abstracto tiene que declararse abstracta.
Pero esto no quiere decir que todos los mtodos de una clase abstracta tienen que
ser abstractos. Las clases abstractas no pueden tener mtodos privados ya que
no se podran implementar, ni tampoco estticos.

Clase final:

Una clase final es la que acaba con una cadena de herencia. De la clase final no
se puede heredar nada. Al decir que termina la cadena de herencia significa que
ya no se sub-divide en ms clases, pues indica que es el final delas divisiones.

Las organizaciones de clases en java suelen ser de la siguiente forma:

class A{ }

class B extends A { }

Con lo que se indica que de la clase A sale una sub-clase o clase hija que es
B.Esta es la idea estndar de la programacin orientada a objetos en java.

Se puede modificar este tipo de organizaciones al usar final. Sera de la siguiente


forma:

Final class A { }
Con lo que se est indicando que de la clase A no van a salir otras clases. Segn
esto no podra existir la clase B. Es lo contrario a declarar una clase abstracta.
Es posible mezclar final con public, es decir, se puede tener algo como esto.

Public final class A{ }

Uno puede declarar su clase como final por algunos motivos. Primero est el
motivo de seguridad. Cuando no se quiere que otra persona haga sub-clases en
base a la clase que has creado y haga nuevas instancias de sta. Te da un control
sobre la clase evitando que le introduzcan funcionamientos anormales.

El otro motivo para usar final es la eficiencia. Se trabaja solo con instancias de la
clase sin tener que ir a las sub-clases, as puedes optimizar esa clase. Si la clase
es final, entonces implcitamente todos sus mtodos son final tambin y no hay
sobrecarga de mtodos. Adems los programas pueden correr hasta dos veces
ms rpido si la clase es final.
Las libreras de java usan mucho el final, como las clases Math, InetAddressand
Socket. Es una forma de seguridad de java para que no las alteremos.

Clases synchronizables:

Al poner Synchronizable se especifica que todos los mtodos que estn


definidos dentro de esta clase sern sincronizados. Para esto debemos saber que
la computadora puede llevar a cabo varios threads a la vez; un thread es un flujo
de control para controlar la ejecucin de un programa. Esto es porque al ejecutar
un programa, diversas partes del mismo se pueden estar llevando acabo al mismo
tiempo.

El problema es que un thread puede interrumpir a otro en cualquier momento. Por


ejemplo, si tuviera un thread que est escribiendo en un arreglo, y al mismo
tiempo otro lo interrumpe y empieza a escribir sobre el mismo arreglo; esto llevara
a un problema en nuestra aplicacin o applet porque se estn perdiendo datos.

Lo que se debe hacer es evitar estas situaciones, bloqueando ciertas partes del
programa mientras otras se estn llevando a cabo, es decir sincronizarlas. Al
estar sincronizados los mtodos dentro de esta clase, mientras uno se lleva
acabo, el otro tiene que esperar a que acabe el primero antes de comenzar a
ejecutarse. En otras palabras, no se puede acceder a ellos al mismo tiempo desde
distintos threads.
Modulacin
La modulacin implica resolver un problema difcil, dividindola en partes ms
simples tantas veces que sea necesario, hasta que la resolucin de las partes
sean obvia.
El mtodo est basado en la resolucin de un problema dividindolo en dos o ms
sub problemas de igual tipo o similar. El proceso continan hasta que esto llegan
a ser lo suficientemente sencillo como para que se resuelvan directamente.

Al final, la solucin a cada uno de los problemas se combinan (ensamblan) para


dar una solucin original.

Subprogramas:

Razones vlidas para crear un programa


Pasos para escribir un programa
Acerca del nombre de un subprograma

Mtodos.

Definicin de los mtodos: cabecera, cuerpo y asignatura


Uso de los mtodos
Paso de parmetros
Devolucin de los resultados (sentencia return)
Constructores (la palabra reservad this)
Mtodos estticos

Herencia:

La herencia es un mecanismo que permite la definicin de una clase a partir de la


definicin de otra ya existente. La herencia permite compartir automticamente
mtodos y datos entre clases, subclases y objetos.

La herencia est fuertemente ligada a la reutilizacin del cdigo en la OOP. Esto


es, el cdigo de cualquiera de las clases puede ser utilizado sin ms que crear una
clase derivada de ella, o bien una subclase.

Hay dos tipos de herencia: Herencia Simple y Herencia Mltiple. La primera indica
que se pueden definir nuevas clases solamente a partir de una clase inicial
mientras que la segunda indica que se pueden definir nuevas clases a partir de
dos o ms clases iniciales.
Superclase y Subclases
El concepto de herencia conduce a una estructura jerrquica de clases o
estructura de rbol, lo cual significa que en la OOP todas las relaciones entre
clases deben ajustarse a dicha estructura.

En esta estructura jerrquica, cada clase tiene slo una clase padre. La clase
padre de cualquier clase es conocida como su superclase. La clase hija de una
superclase es llamada una subclase.

Una superclase puede tener cualquier nmero de subclases.

Una subclase puede tener slo una superclase.

A es la superclase de B, C y D.
D es la superclase de E.
B, C y D son subclases de A.
E es una subclase de D

Clase A

Clase B Clase C Clase D

Clase E