Академический Документы
Профессиональный Документы
Культура Документы
ORIENTADA A OBJETOS
Cdigo: 84083197
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:
//atributos y medios
}
Public
Abstract
Final
Syncronizable
Clase Public:
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.
//cuerpo de la clase
}
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 {
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.
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.
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.
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:
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.