Orientação a Objetos
-
Upload
edy-segura -
Category
Education
-
view
5.267 -
download
0
description
Transcript of Orientação a Objetos
![Page 1: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/1.jpg)
Edy Segura - [email protected] em Ciência da Computação pela FAI.Cursando pós-graduação em Engenharia Web pela UNIFEI.
Orientação a Objetos
![Page 2: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/2.jpg)
A orientação a objetos (OO), também conhecida como Programação Orientada a Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é 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 de objetos.
Introdução à orientação a objeto
![Page 3: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/3.jpg)
• Classe• Objeto• Atributos• Métodos• Sobrecarga• Herança• Associação• Encapsulamento• Abstração• Polimorfismo
Conceitos fundamentais do mundo OO
![Page 4: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/4.jpg)
Uma classe define o objeto com comportamento, através de métodos, e quais estados ele é capaz de manter, através de atributos. Exemplo de classe: Os seres humanos.
Classe
![Page 5: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/5.jpg)
Objeto é uma instância de uma classe. Um objeto é 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 objetos. Exemplo de objetos da classe Humanos: João, José, Maria.
Objeto
![Page 6: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/6.jpg)
São dados ou informações do objeto, basicamente a estrutura de dados que vai representar a classe. Exemplos:
- Funcionário: nome, endereço, telefone, CPF;
- Carro: nome, marca, ano, cor;
- Livro: autor, editora, ano.
Atributos
![Page 7: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/7.jpg)
Definem as habilidades dos objetos. Bidu é uma instância da classe Cachorro, portanto tem habilidade para latir, implementada através do método deUmLatido(). Um método em uma classe é apenas uma definição. A ação só ocorre quando o método é invocado através do objeto, no caso Bidu.
Métodos
![Page 8: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/8.jpg)
É a utilização do mesmo nome para símbolos ou métodos com operações ou funcionalidades distintas. Geralmente diferencia-se os métodos pela sua assinatura.
Sobrecarga
![Page 9: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/9.jpg)
É o mecanismo pelo qual uma classe (classe-filha) pode estender outra classe (classe-mãe), aproveitando seus comportamentos (métodos) e estados possíveis (atributos).
Mamífero é classe-mãe de Humano (classe-filha).
Herança
![Page 10: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/10.jpg)
Consiste na separação de aspectos internos e externos de um objeto.
Exemplo: você não precisa conhecer os detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses detalhes, provendo a você uma interface mais amigável.
Encapsulamento
![Page 11: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/11.jpg)
É a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software.
Abstração
![Page 12: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/12.jpg)
É o princípio pelo qual duas ou mais classes derivadas de uma mesma classe-mãe podem invocar métodos que têm a mesma assinatura.
A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução.
Polimorfismo
![Page 13: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/13.jpg)
É o princípio pelo qual duas ou mais classes derivadas de uma mesma classe-mãe podem invocar métodos que têm a mesma assinatura.
A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução.
Polimorfismo
![Page 14: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/14.jpg)
Smalltalk, Perl, Python, Ruby on Rails, PHP, ColdFusion, C++, Object Pascal (Delphi), Java, JavaScript, ActionScript (Flash), C#, ASP.NET e VB.NET são exemplos de linguagens de programação com suporte a orientação a objetos.
Linguagens de programação com suporte a OO
![Page 15: Orientação a Objetos](https://reader038.fdocument.pub/reader038/viewer/2022102922/5495474cb47959071d8b468d/html5/thumbnails/15.jpg)
http://del.icio.us/wdedy/object-oriented
Referências