O que é um objeto na programação?
A programação orientada a objetos , ou OOP , é uma abordagem para a solução de problemas em que todos os cálculos são realizados usando objetos. Um objeto é um componente de um programa que sabe como realizar certas ações e como interagir com outros elementos do programa. Objetos são as unidades básicas da programação orientada a objetos. Um exemplo simples de objeto seria uma pessoa. Logicamente, você esperaria que uma pessoa tivesse um nome. Isso seria considerado uma propriedade da pessoa. Você também pode esperar que uma pessoa seja capaz de fazer algo, como caminhar ou dirigir. Isso seria considerado um método da pessoa.
O código na programação orientada a objetos é organizado em torno de objetos. Depois de ter seus objetos, eles podem interagir uns com os outros para fazer algo acontecer. Digamos que você queira um programa em que uma pessoa entra em um carro e o dirige de A a B. Você começaria descrevendo os objetos, como uma pessoa e um carro. Isso inclui métodos: uma pessoa sabe como dirigir um carro, e um carro sabe como é ser dirigido. Depois de ter seus objetos, você os reúne para que a pessoa possa entrar no carro e dirigir.
Classes e objetos
Uma classe é um projeto de um objeto. Você pode pensar em uma classe como um conceito, e o objeto é a personificação desse conceito. Você precisa ter uma classe antes de criar um objeto. Então, digamos que você queira usar uma pessoa em seu programa. Você quer ser capaz de descrever a pessoa e fazer com que ela faça algo. Uma classe chamada ‘pessoa’ forneceria um plano para a aparência de uma pessoa e o que ela pode fazer. Para realmente usar uma pessoa em seu programa, você precisa criar um objeto. Você usa a classe pessoa para criar um objeto do tipo ‘pessoa’. Agora você pode descrever essa pessoa e fazer com que ela faça algo.
As aulas são muito úteis na programação. Considere o exemplo de onde você não deseja usar apenas uma pessoa, mas 100 pessoas. Em vez de descrever cada um em detalhes desde o início, você pode usar a mesma classe de pessoa para criar 100 objetos do tipo ‘pessoa’. Você ainda precisa dar a cada um um nome e outras propriedades, mas a estrutura básica da aparência de uma pessoa é a mesma.
Métodos e funções
Depois de criar os objetos, você deseja que eles sejam capazes de fazer algo. É aqui que entram os métodos. Um método na programação orientada a objetos é um procedimento associado a uma classe. Um método define o comportamento dos objetos que são criados a partir da classe. Outra maneira de dizer isso é que um método é uma ação que um objeto é capaz de realizar. A associação entre método e classe é chamada de ligação. Considere o exemplo de um objeto do tipo ‘pessoa’, criado usando a classe pessoa. Os métodos associados a esta aula podem consistir em coisas como caminhar e dirigir. Os métodos às vezes são confundidos com funções, mas eles são distintos.
Uma função é uma combinação de instruções que são combinadas para obter algum resultado. Uma função normalmente requer alguma entrada (chamados de argumentos) e retorna alguns resultados. Por exemplo, considere o exemplo de dirigir um carro. Para determinar a quilometragem, você precisa fazer um cálculo usando a distância percorrida e a quantidade de combustível usado. Você pode escrever uma função para fazer este cálculo. Os argumentos usados na função seriam a distância e o consumo de combustível, e o resultado seria a quilometragem. Sempre que você quiser determinar a quilometragem, basta chamar a função para realizar o cálculo.
Como isso difere de um método? Uma função é independente e não está associada a uma classe. Você pode usar essa função em qualquer lugar em seu código e não precisa ter um objeto para usá-la.
Agora, o que aconteceria se você associasse a função a um objeto do tipo ‘carro’? Por exemplo, você deseja exibir a quilometragem do carro no painel. Neste caso, o cálculo da quilometragem tornou-se um método por ser um procedimento associado à classe do carro. Cada vez que você cria um novo objeto do tipo ‘carro’ usando a classe carro, este método fará parte do objeto. A ação que o carro agora é capaz de realizar é calcular a quilometragem. É o mesmo cálculo executado pela função autônoma, mas agora está vinculado ao carro.
Conceitos OOP
A programação orientada a objetos é construída em torno de vários conceitos. Esses conceitos são implementados usando classes, objetos e métodos, mas é útil revisar esses conceitos de forma mais geral. Quatro conceitos básicos da programação orientada a objetos são abstração, encapsulamento, herança e polimorfismo.
Usando a abstração, um programador oculta muitos dos detalhes sobre um objeto e mostra apenas as informações mais relevantes. Isso reduz a complexidade e aumenta a eficiência. Por exemplo, no caso de uma pessoa, pode haver várias descrições detalhadas. No entanto, se apenas o nome e a idade forem realmente relevantes em um determinado contexto, apenas essas descrições serão usadas.
Encapsulamento é a ocultação de mecanismos internos e estruturas de dados por trás de uma interface definida. Isso mantém os dados protegidos contra interferências e uso indevido. O encapsulamento é como um invólucro protetor em torno do código e dos dados que evita que ele seja acessado arbitrariamente por código fora do invólucro. Considere o exemplo de onde cada um é o proprietário de um carro. As propriedades do carro são encapsuladas dos proprietários; um proprietário pode dirigir um carro, mas não pode mudar a cor ou o motor.
Herança é o processo pelo qual novas classes são criadas a partir de classes existentes e herdam as características gerais dessas classes. Considere a classe de pessoa que é usada para criar duas novas classes chamadas mulher e homem. As novas classes herdam as propriedades da classe pessoa, o que economiza muito código. Cada uma das novas classes possui algumas propriedades exclusivas, mas é muito mais fácil adicioná-las a uma classe existente do que começar do zero. Herança é um exemplo de reutilização de código, o que torna o OOP muito eficiente para certas tarefas.
Polimorfismo significa ter um nome, mas várias formas. Isso significa que as propriedades de um objeto podem mudar com o contexto. Por exemplo, um objeto chamado pessoa pode ser considerado um proprietário quando está dentro de um carro, mas um funcionário quando está no escritório. Esses conceitos tornaram a programação orientada a objetos a abordagem mais amplamente usada no desenvolvimento de software atual.
Resumo da lição
A programação orientada a objetos é uma abordagem para a resolução de problemas em que todos os cálculos são realizados usando objetos. Um objeto é um componente de um programa que sabe como realizar certas ações e como interagir com outros elementos do programa. Uma classe é um projeto de um objeto. Você precisa ter uma classe antes de criar um objeto. Os objetos têm propriedades e métodos.
Um método é um procedimento associado a uma classe e define o comportamento dos objetos criados a partir da classe. Uma função é uma combinação de instruções que são combinadas para obter algum resultado. Uma função é independente e não está associada a uma classe. A programação orientada a objetos usa vários conceitos centrais: abstração, encapsulamento, herança e polimorfismo. Esses conceitos são implementados usando classes, objetos e métodos.
Resultados de Aprendizagem
Após esta vídeo aula, você deverá ser capaz de:
- Resuma como a programação orientada a objetos funciona
- Defina objeto, classe e método
- Diferencie entre método e função
- Explique os quatro conceitos principais da programação orientada a objetos