A maioria de nós não sabe, e don 't realmente importa, como o mecanismo de direção é de fato implementado "sob a capa". Na verdade, há provavelmente um número de diferentes implementações para várias marcas e modelos de automóveis. Independentemente da marca e modelo, no entanto, a interface humana é praticamente o mesmo. No sentido horário, se vira para a direita, para a esquerda vira à esquerda.
Para apreciar a importância desta interface padrão, anexar um reboque aluguer de curta para o seu carro e tentar apoiá-lo em sua garagem. Virar o volante para a esquerda faz com que o reboque para virar à direita e no sentido horário faz com que o reboque para virar à esquerda; justamente o oposto do que precede. A maioria de nós não estão acostumados a essa interface e têm alguma dificuldade em usá-lo, pelo menos inicialmente.
É provavelmente seguro para sugerir que o aspecto fatores humanos da interface para o dispositivo de condução em seu carro não foi projetado para fazer backup com um atrelado. (O truque para adaptar a interface é colocar a mão na parte inferior do volante em vez do topo.)
Em qualquer caso, como no mecanismo de direcção de um carro, uma abordagem comum em OOP é "esconder a implementação" e "expor a interface" através de encapsulamento.
Herança Exemplo
Outro aspecto importante da OOP é herança
.
Vamos formar uma analogia com o adolescente que está construindo um hotrod. Isso adolescente normalmente não começam com um grande pedaço de aço e esculpir um motor fora dele. Em vez disso, o adolescente vai geralmente começam com um motor existente e fazer melhorias nele. No idioma OOP, que adolescente se estende
o motor existente, deriva
do motor existente, herda
do motor existente, ou subclasses of the motor existente.
Assim como em "souping up" um motor para um hotrod, uma prática muito comum em OOP é criar novos objetos melhoradas usando novas definições que estender
definições existentes. Na verdade, um dos principais argumentos a favor da OOP é que ele fornece um mecanismo formal que incentiva a reutilização de elementos de programação existentes. Um dos lemas do OOP é: reutilização, não reinventar
Polimorfismo Exemplo
Um terceiro aspecto importante de OOP