Clases e obxectos

De MediaWiki
Saltar a: navegación, buscar

Nas linguaxes orientadas o obxectos a clase é o concepto fundamental co que se construirá toda a funcionalidade dos programas. Definimos unha clase como a agrupación dun conxunto de datos, aos que chamaremos atributos (ou variables membro), xunto con código directamente relacionado coa manipulación deses datos distribuído en funcións, que chamaremos métodos.
Java é unha linguaxe na que non existen exepcións á regra de que todo o que deba formar parte dun programa debe pertencer a unha clase. Calquera variable que se queira manipular é atributo dalgunha clase e calquera código que se queira introducir deberá incluírse como método dalgunha clase.
Un dos usos habituais das clases será representar a un conxunto de objetos que comparten estrutura e comportamentos. Estas clases serán unha combinación determinada de atributos e métodos e funcionan no programa como un tipo de dato complexo, non primitivo. Por tanto, un dos posibles obxectivos das clases será a de servir como prototipo de obxectos, que se irán creando segundo as necesidades do programa.
Outras clases terán como obxectivo básico o de servir como almacén de código, porque non está previsto crear obxectos a partir delas senón só utilizar os métodos que conteñen.

Avantaxes

Utilizando a programación orientada a obxectos mellórase a productividade na creación de software porque:

  • Os elementos constructivos dos programas son simples e repetitivos, polo que os proxectos serán entendibles e manexables case independentemente da súa complexidade final.
  • Permítese unha doada reutilización do código, simplemente haberá que incluír a clase que o contén en novos proxectos.
  • Facilita a separación de tarefas, diferentes programadores poderán colaborar doadamente nun proxecto encargándose da elaboración de diferentes clases.
  • É doado ampliar e modificar tanto os atributos como os métodos das clases existentes sen perigo de introducir novas situacións de erro no proxecto.

Desventaxas

  • Precísase un importante esforzo inicial de aprendizaxe.
  • Obtéñense proxectos con maior cantidade de código.
  • Non todos os problemas a resolver encaixan de xeito natural nunha estrutura construída a base de clases.