Programação orientada a objetos tornou-se um paradigma no desenvolvimento de software , como programadores de computador aprendeu os benefícios do código de gerir de forma modular. Ao definir "objetos" que representam as informações que o programador usa durante todo o programa , o programador , e outros programadores podem construir fora desses objetos para criar software mais complicado. No centro de desenvolvimento de software de objeto são os conceitos de encapsulamento de dados e abstração , junto com as noções de herança e polimorfismo . Encapsulation
Ao escrever classes , as boas práticas de programação orientada a objeto requer que os programadores " encapsular " dados de distância do usuário do objeto. Isto significa que quaisquer dados ou função dentro de uma classe não deve ser acessível para o usuário , sem modificação programador. Um bom exemplo disso são "get" e "set" funções internas na maioria das aulas. Estas funções controlar a forma como o usuário pode acessar variáveis de dados em um objeto, e garantir que todos os dados podem ser considerados legítimos para o uso. Isso limita a preocupação com os dados corrompidos , ou manipulação de dados ilegal pelo usuário.
Abstraction
Um benefício de programação orientada a objeto é que ele remove o usuário do exigência de saber como outro código funciona. Este benefício , chamado abstração, significa que um usuário a implementação de um objeto criado por outro programador para executar uma tarefa específica não precisa saber como esse objeto completa sua tarefa. Desta forma , o usuário pode se concentrar em seus próprios problemas , ao invés de se preocupar com a implementação de um objeto que pode querer usar. Isso permite que os programadores criem software maiores e mais complexas sobre os objetos menores.
Herança
Outro benefício para programação orientada a objetos é a herança , o que também permite que os programadores para construir mais programas complexos de partes mais simples . A herança é a maneira pela qual os objetos funcionalidade " herdar " a partir de outros objetos, ajustando -os de acordo com suas necessidades. Por exemplo , um objeto de "professor" pode herdar a sua funcionalidade de um objeto "pessoa", porque o professor é uma pessoa e requer toda a funcionalidade do objeto pessoa (junto com as funções adicionais de um professor) . Desta forma , o programador do objeto professor não tem que reescrever o objeto pessoa apenas para usá-lo para o objeto professor , ela pode apenas ter o objeto professor herdar as suas funções a partir do objeto pessoa
. polimorfismo
polimorfismo em laços com a herança , já que é a maneira pela qual um objeto que herda de outro objeto que interage com "Base " objeto . Por exemplo , o objeto professor pode herdar certas funções de seu objeto base ( pessoa) , mas mudar um deles. O objeto professor ainda pode usar as funções de classe base, juntamente com a sua própria versão da função muda . Além disso, durante a execução do programa o usuário pode declarar uma variável para segurar um objeto pessoa , mas mais tarde o programa decide que ele precisa de um objeto professor , mais especificamente. Neste caso , a variável reservada para o objeto pessoa pode segurar um objeto professor, porque um professor herda (ou é) um objeto pessoa .