Você está na página 1de 28

Introdução Orietação a

Objetos (O.O)

Prof. Dr. Emerson R. Abraham


Agenda

• Paradigmas: estruturado e orientado à objetos


• Classes
• Variáveis e métodos
• Instância de classes (criação de objetos)
• Composição, herança e polimorfismo
• Evolução das linguagens de programação
• Dúvidas ou curiosidades
• Referências
Introdução

Conceitos
Paradigmas: estruturado e orientado à objetos
Paradigma da linguagem estruturada

• “É um tipo de programação orientada para a ação, sendo que


a unidade de programação é a função”.

• “Grupos de ações que realizam alguma tarefa comum são


reunidos em funções e as funções são agrupadas para formar
programas.” (DEITEL, PG.15)

• Divido em três partes que se interligam:

 Sequência;
 Seleção; e
 iteração.
Exemplo em linguagem c
Paradigma da linguagem orientada à objetos

A ideia da orientação a objetos é desenvolver programas baseados em


objetos do mundo real.

 Animados: pessoas, animais, etc


 Inanimados: carros, motos, etc.
 Intangíveis: marca, conta, pedido, etc

Os objetos possuem:

• Características - tamanho, forma, cor, etc

• Comportamentos – andar, falar, comer, etc.

Na linguagem O.O a unidade de programação é a CLASSE a partir do


qual os objetos são instanciados (criados)
Classificação segundo Aristóteles

Extraído de: http://uptowhat.com.br/antiquario/o-


pensamento-aristotelico
Classificação segundo Charles Darwin
• A classe é a receita de um
bolo e o objeto é o bolo.

• A classe é o projeto da casa e


o objeto é a casa.

Classes NÃO são objetos.


Atributos e métodos

Divisões da Classe (3 partes)


A classe contem basicamente:

Nome da Classe
• Atributos - são as
características; os valores dos
atributos variam de uma
Atributos
instância de classe para outra;

• Métodos - são os
comportamentos, as funções Métodos
que um objeto pode executar.
Exemplo em Linguagem Java
Relacionamentos ou associações

Agregação
• A função principal da agregação é identificar um vínculo
fraco (normalmente opcionais) de uma complementação das
informações de objeto-todo para seus objetos-parte.
Relacionamentos ou associações

Composição
• É uma variação da agregação onde é apresentado um
vínculo forte entre os objetos.
Relacionamentos ou associações
Herança e Polimorfismo

Conta

Conta Corrente Conta Salário Conta Universitária

O Polimorfismo permite a criação de métodos que recebem parâmetros genéricos, tornando-o


mais flexível.
Resumo – vantagens da O.O

• Natural e intuitiva
• Encapsulamento
• Relacionamentos entre classes
- Composição
- Herança; e
- Polimorfismo
• Reusabilidade
• Organização
• Manutenção
Evolução das linguagens de programação

C++

JAVA C#
Compilação / interpretação

Adaptado de Ferreira, Kaio, disponível em: http://kaioferreira.blog.br/introducao-ao-java-como-o-java-


funciona/
Compilação / interpretação

Extraído de : https://favpng.com/png_view/openjdk-java-virtual-machine-java-compiler-bytecode-
png/tay2MpMA
Variáveis

São espaços na memória para a realização de operações.

Exemplo: = +

Nesta ilustração foram declaradas três variáveis; duas para guardar


valores que serão somados e uma para guardar o resultado da
operação.

Cada variável é um endereço na memória, sendo que o nome é apenas uma


referência para o programador.
Declaração de variáveis

• Java é uma linguagem com tipagem estática. As operações são voltadas


para estruturas de dados bem definidas.
• Em linguagens com tipagem dinâmica, as operações são aplicadas em
qualquer estrutura de dados.

• JAVA

int idade = 18;


float peso = 90.5;

• JAVASCRIPT (dinamicamente tipada)

var idade = 18;


var peso = 90.5;
Tipos primitivos

Tipo Descrição Tamanho


byte valores numéricos inteiros 8 bits
short valores numéricos inteiros 16 bits
int valores numéricos inteiros 32 bits
long valores numéricos inteiros 64 bits
valores de ponto flutuante, ou seja, com casas
float 32 bits
decimais
valores de ponto flutuante de dupla precisão,
double tem o dobro do tamanho do float e portanto o 64 bits
dobro da capacidade.
Caracteres. Com vetores do tipo char é
char 16 bits
possível criar cadeias de caracteres (strings).
boolean valores booleanos 1 bit
Tipos de referência

• Característica específica de Linguagem O.O, em função da existência de


CLASSES.

• Ao criarmos uma classe podemos nos utilizar da mesma para a criação


de objetos e para a declaração de variáveis do tipo da classe.

Cliente clienteJose;
Conta contaJose;
Declaração de métodos
o Nome

o Modificadores de acesso (public, private, protected, etc)

o Retorno que pode ser vazio (VOID) ou pode retornar INT,


STRING, até mesmo um OBJETO, entre outros.

o Parâmetro que pode ser vazio ( ), ou seja, não receber nenhum


argumento, caso contrário devem ser declaradas variáveis
locais. nome
modificad
or
public boolean sacar(double valor)

retorno parâmetr
o
Método MAIN

• O main é o método principal que deve estar contido em uma única classe
do seu projeto.
• É a porta de entrada da aplicação. Nele faremos a instância de nossos
objetos e demais relações.

public static void main (String[] args){ }


Instância (criação) objetos

A palavra NEW, cria um novo objeto do tipo da classe.

Conta conta = new Conta( );

A referência ao objeto (endereço) deve ser armazenada em


uma variável que deve ser do tipo do objeto (variável de
referência)

live.Conta@15db9742
Classes e Objetos Instâncias

Conta Jose
live.Conta@15db9742

Classe numeroConta = 1
saldo = 100.000

Conta
Conta Maria
private long numeroConta;
live.Conta@6d06d69c
private double saldo;
numeroConta = 2
public boolean sacar(double valor) saldo = 1000.000
public void depositar(double valor)

Conta Pedro
live.Conta@7852e922
numeroConta = 3
saldo = 100
Dúvidas ou curiosidades
Referências:

Todos direitos reservados. Reprodução ou divulgação total ou parcial deste


documento é expressamente proibido sem o consentimento formal, por escrito,
do Professor (autor).

Você também pode gostar