𝖂𝖎ƙ𝖎𝖊

Orientação a objetos

A Orientação a Objeto é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas objetos.

(Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de projeto.)

A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um sistema de software. O funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos.

A utilização de UML é muito comum no projeto de sistemas orientados a objetos.

Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definidos nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.

Smalltalk, Perl, Python, C++, Java e C# são as linguagens de programação mais importantes com suporte a orientação a objetos.

Conceitos

  • Classe representa um conjunto de objectos com características afins. Uma classe define o comportamento dos objectos, através de métodos, e quais estados ele é capaz de manter, através de atributos.
  • Objecto é uma instância de uma classe. Um objecto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele; assim como se relacionar e enviar mensagens a outros objectos.
  • Mensagem é uma chamada a um objecto para invocar um de seus métodos, ativando um comportamento descrito por sua classe.
  • Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objectos, uma classe é uma abstratação de entidades existentes no domínio do sistema de software.
  • Encapsulamento consiste na separação de aspectos internos e externos de um objecto. Este mecanismo é utilizado amplamente para impedir o acesso directo ao estado de um objecto (seus atributos), disponibilizando externamente apenas os métodos que alteram estes estados.
  • Herança é o mecanismo pelo qual uma classe (sub-classe) pode extender outra classe (super-classe), aproveitando seus comportamentos (métodos) e estados possíveis (atributos). Há Herança múltipla quando uma sub-classe possui mais de uma super-classe.
  • Polimorfismo permite um objecto se comportar de acordo com sua classe. Desta forma, é possível se relacionar com objectos de classes diferentes, enviar mensagens iguais (chamadas a métodos com mesma assinatura) e deixar o objecto se comportar à definição de sua classe.

Ver Também

ar:برمجة شيئية bg:Обектно-ориентирано програмиране ca:Orientació a objectes cs:Objektově orientované programování da:Objektorientering de:Objektorientierte Programmierung en:Object-oriented programming eo:Objektema programado es:Programación orientada a objetos fi:Olio-ohjelmointi fr:Programmation orientée objet he:תכנות מונחה עצמים hu:Objektumorientált id:Pemrograman Berorientasi Objek ja:オブジェクト指向 lt:Objektinis programavimas ms:Pengaturcaraan Berorientasikan Objek nl:Object-oriëntatie no:Objektorientert programmering pl:Programowanie obiektowe ru:Объектно-ориентированное программирование sv:Objektorienterad programmering th:การเขียนโปรแกรมเชิงวัตถุ uk:Об’єктно-орієнтоване програмування vi:Lập trình hướng đối tượng Predefinição:Link FA zh:面向对象的程序设计

talvez você goste