Buscar

Aula 1 Programação Orientada Objeto


Continue navegando


Prévia do material em texto

Programação Orientada a Objetos. 
 
1 
Prof.Fábio Rener 
 
 
Paradigmas de Programação 
 
Dois paradigmas de programação bastante comuns são o Procedural e Orientado a 
Objetos. As principais diferenças entre estes paradigmas são observadas na 
organização do código e nas técnicas de modelagem do problema. 
 
Um modelo de programação ou paradigma de programação é um conjunto de 
princípios, ideias, conceitos e abstrações utilizado para o desenvolvimento de uma 
aplicação. 
 
 
Procedural 
 
Para ser considerada procedural, uma linguagem de programação deve suportar o 
conceito de procedimentos, e possuir uma sintaxe para defini-los. Idealmente, ela deve 
suportar a especificação de tipos de argumentos, variáveis locais, chamadas 
recursivas e o uso de procedimentos em módulos distintos de um programa. Ela 
também pode suportar a distinção entre argumentos de entrada e de saída. 
 
Algumas características comuns deste paradigma são: 
 
• Conjunto de instruções organizado em bloco para executar determinada tarefa 
(funções). 
 
• Conjunto de funções agrupadas por funcionalidade em bibliotecas. 
 
• Modelagem através de fluxograma e grande utilização de algoritmos. 
 
 
 Exemplos: 
 
• Pascal; 
• Cobol; 
• Perl; 
• Basic 
 
 
Orientação a Objeto 
 
A orientação a objetos é o paradigma de programação predominante atualmente e 
está aos poucos substituindo a programação procedural criada no inicio da década de 
60. 
 
Neste paradigma o programa é composto por objetos com propriedades e operações 
que podem ser executadas por eles, ou seja, a estrutura de dados é definida 
juntamente com as funções(métodos)que poderão ser executadas. 
 
Todas as funcionalidades e atributos de cada entidade do sistema são armazenados 
em classes que representam esta entidade. 
Programação Orientada a Objetos. 
 
2 
Prof.Fábio Rener 
 
Normalmente, utilizamos a Unified Modeling Language(UML) para modelar soluções 
orientadas a objetos. 
 
Exemplos: 
 
• Smalltalk; 
• Java; 
• C#. 
 
 
 
 
 
Em geral, os conceitos do modelo de programação orientado a objetos diminuem a 
complexidade do desenvolvimento de sistemas que possuem as seguintes 
características: 
 
• Sistemas com grande quantidade de funcionalidades desenvolvidos por uma 
equipe. 
• Sistemas que serão utilizados por um longo período de tempo e sofrerão 
alterações constantes. 
 
A plataforma Java será objeto de estudo dessa disciplina. Mas, devemos salientar que 
os conceitos de orientação a objetos que serão vistos poderão ser aplicados também 
na plataforma .NET. 
 
No primeiro momento, os dois elementos mais importantes da plataforma Java são: 
 
• A linguagem de programação Java. 
• O ambiente de execução Java. 
 
A linguagem de programação Java permite que os conceitos de orientação a objetos 
sejam utilizados no desenvolvimento de uma aplicação. 
 
Programação Orientada a Objetos. 
 
3 
Prof.Fábio Rener 
O ambiente de execução Java permite que uma aplicação Java seja executada em 
sistemas operacionais diferentes. 
 
 
Plataforma Java 
 
No primeiro momento, os dois elementos mais importantes da plataforma Java são: 
 
 
 
 
Java é uma plataforma de desenvolvimento de software, sendo composta de várias 
partes: conjuntos de bibliotecas, linguagem de programação e Máquina Virtual 
Java(JVM). 
 
A linguagem é totalmente orientada a objetos, robusta, segura e independente de 
plataforma(sistema operacional). 
 
A Máquina Virtual Java (JVM) torna possível que aplicações feitas em Java funcionem 
em diferentes sistemas operacionais. Permitindo também a utilização de serviços 
como coleta de lixo automática e implementação de “threads”. 
 
 
JSE – Java Standard Edition 
 
É a especificação do Java que contem APIs com as funções básicas do Java como 
I/O, multithread, network, conectividade com bancos de dados entre outras. 
 
JEE – Java Enterprise Edition 
 
È a especificação Java que contem APIs com funcionalidades especificas para o 
desenvolvimento de aplicações para servidores tais como, Servlets,JSP,EJB e JMS, 
Etc. 
 
 
 
 
 
 
 
 
 
 
 
Programação Orientada a Objetos. 
 
4 
Prof.Fábio Rener 
Introdução a Orientação a Objeto 
 
Nosso mundo físico é formado por um grande conjunto de objetos (mesa, cadeira, 
carros, casas, animais, plantas,....), e todos estes objetos possuem duas coisas em 
comum: estado e comportamento. Por exemplo, um carro possui estado como: 
modelo, ano de fabricação, cor, número de marchas, etc. Um carro também possui 
comportamento, como: trocando de marcha, acelerando, freando, etc. 
 
Programação Orientada a Objetos é uma forma de criar software que imita o mundo 
real, onde pedaços de software chamados objetos possuem também estados e 
comportamento. Um objeto de software mantém seu estado em atributos (variáveis) e 
implementa seu comportamento através de métodos. 
 
Dessa forma podemos dizer que estado/característica são nossos atributos e 
comportamento/ações são nossos métodos. 
 
Se criarmos um objeto de software para representar um carro, poderíamos ter os 
seguintes atributos e métodos: 
 
Atributos: 
Modelo do Carro: Vectra 
Ano de Fabricação:1998 
Cor: Azul 
 
 
Métodos: 
Freia 
Acelera 
TrocaMarcha 
 
A grande dificuldade para compreender a programação OO é a diferença de 
abordagem do problema. Enquanto a programação estruturada tem como principal 
foco as ações (procedimentos e funções), a programação OO se preocupa com os 
objetos e seus relacionamentos. Além do conceito de objeto, a programação OO tem 
como alicerces os conceitos de encapsulamento, classe, herança e polimorfismo. 
 
 
Classes 
 
Quando criarmos um objeto no mundo real, como por exemplo uma casa, primeiro 
fazemos o projeto da casa para depois construirmos a mesma. O projeto informa as 
características da casa e detalhes para que ela possa ser construída. Usando o 
mesmo projeto podemos construir por exemplo duas casas, uma na cor amarela e 
outra azul. Em orientação a objetos, as duas casas são objetos construídos a partir da 
mesma classe (projeto). Dizemos então que um objeto é uma instância de uma 
classe. 
 
 
 
 
 
 
 
Programação Orientada a Objetos. 
 
5 
Prof.Fábio Rener 
 
Para criar uma classe em software temos que fazer as seguintes tarefas: 
 
• Escrever o código fonte da classe (implementando os atributos e métodos); 
• Compilar o código fonte. 
 
Para criarmos um objeto de software instanciamos na memória do computador uma 
classe. Objetos fornecem os benefícios de modularidade e proteção dos dados. 
Classes fornecem o benefício da reutilização. Uma construtora pode construir muitos 
prédios com um único projeto. Um programador pode construir muitos objetos com 
uma única classe (mesmo código). 
 
 
A estrutura de uma classe: 
 
<modificadores> class <Nome> [extends <SuperClasse>] [implements <Interface>] 
{ 
<variáveis membro> 
<construtores> 
<métodos membros> 
} 
 
 
Declaração de atributos (variáveis): 
<modificador> <tipo> <nome> [=<valor inicial>]; 
 
 
Declaração de um método: 
 
<modificador> <tipo de retorno> <nomeMetodo>(<parâmetros>) 
{ 
comandos.... 
} 
 
Exemplo de diagrama de classe simples. 
 
 
 
 
 
Exemplo Classe: 
public class Aluno 
{ 
// atributos 
int codAluno; 
Programação Orientada a Objetos. 
 
6 
Prof.Fábio Rener 
String nomeAluno; 
int idadeAluno; 
 
// Métodos 
public float calculaMedia() 
{ 
//regra para calculo 
return media; 
} 
} 
 
 
Exercícios 
 
1) Quais as caracteristicas de uma linguagem de programação procedural ? 
 
2) Quais as caracteristicas de uma linguagemde programação O.O ? 
 
3) O que temos em comum em todos os objetos ? 
 
4) O que é uma Classe ? 
 
5) O que é um Objeto ? 
 
6) Qual a estrutura de uma Classe em Java ?