Buscar

Resumo de Conceitos de Orientação a Objetos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

RESUMO 
PROGRAMAÇÃO 
ORIENTADA A 
OBJETO 
 
IFSC­SJ 
Engenharia de 
Telecomunicações 
 
 
 
 
 
 
Generalização 
É a mesma coisa que o conceito de herança. 
 
Herança 
Classe Pai, super classe, classe base ­​ Classe que passa seus atributos a outra classe. 
Classe filha, sub classe, classe derivada ­​ Classe que recebe os atributos de outra classe. 
 
Para fazer uma classe ser filha da outra deve­se colocar o​ extends; 
 
O conceito de herança torna mais rápido o desenvolvimento de softwares complexos. 
 
Herança Multipla 
Uma classe deriva de várias outras classes. No java isso pode ser feito com a utilização de 
interfaces, normalmente não é utilizado. 
 
Sobrecarga 
Métodos podem ter o mesmo nome desde que não sejam ambíguos, isto é, que exista 
uma maneira de distinguir no momento da chamada, no caso as variaveis de entrada. 
 
Sobrescrita 
Sobrescrita de métodos consiste basicamente em criar um novo método na classe filha 
contendo a mesma assinatura e mesmo tipo de retorno do método sobrescrito, mas 
comportamento(semântica) diferente. 
 
Polimorfismo 
É quando um método da superclasse é implementado na subclasse, realizando­se as 
alterações necessarias para atender as necessidades da subclasse.  
Esse recurso é essencial para obter um sistema facilmente extensível, pois podemos adicionar 
um método com pequenas alterações as quais atendem as necessidades de um objeto com 
atributos especificos. 
Polimorfismo é equivalente a sobrescrita 
 Para chamar um método da classe pai utilizamos super.  
 
Associação 
É quando dentro de uma classe um de seus atributos é um objeto de outra classe. Possui a 
multiplicidade que indica o numero de objetos que contem. 
 
ref: http://pt.slideshare.net/armandodaniel777/java­orientao­a­objetos­associacao­composicao­agregacao 
 
 
Agregação 
É quando uma classe utiliza outras classe para forma­la. A classe principal só existe se estas 
outras classe existirem . 
 
ref: http://pt.slideshare.net/armandodaniel777/java­orientao­a­objetos­associacao­composicao­agregacao 
 
Composição 
É quando uma classe utiliza outras classe para forma­la e as classes que ela utiliza também 
são completamente dependentes da classe inicial. Essa é a maior diferença entre agregação e 
composição.  
 
 
ref:​http://pt.slideshare.net/armandodaniel777/java­orientao­a­objetos­associacao­composicao­agregacao 
 
 
Métodos 
● Privados 
Só podem ser acessados pelos demais membros desta mesma classe. 
 
● Publicos 
Podem ser acessados por qualquer classe. 
 
● Abstratos 
A classe determina quais metodos devem ser programados na classe filha, sem haver 
necessidade de programa­los na classe pai. As classes filhas são obrigadas a programar estes 
metodos. 
● Static: 
Esta atribuido a classe e não ao objeto. 
 
● Protegidos 
Podem ser acessados pelos membros da classe e pelos membros das classes derivadas 
 
 
Manipulação de Arquivos 
A interface java.io.Serializable permite que os objetos sejam serializados, ou seja, sejam 
gravados em arquivos. 
Utiliza ​implements Serializable ​para utilizar essa interface em uma classe 
Esta interface esta dentro do pacote java.lang o qual tem inumeras funções para entrada e 
saída de dados. O pacote java.io  possue classes como​ InputStream​ que utiliza fluxos de 
entrada de dados e ​OutputStream​ que utiliza o fluxo de saida de dados, estas classes 
abstratas ​definem, respectivamente, o comportamento padrão dos fluxos em Java: em um fluxo de entrada, é possível ler bytes e, no fluxo de saída, escrever bytes. 
 
InputStream Fluxo de entrada de dados, arquivos no geral. 
OutpuStream Fluxo de saída de dados, arquivos no geral. Basicamente para escrever ou ler em um objeto em um arquivo segue-se os seguintes passos: Para leitura: ● Criar um arquivo com File arquivo =new File(nomedoarquivo.extensao); ● Chamar o construtor da classe inpustream e manda como parametro o arquivo criado: FileInputStream stream = new FileInputStream(arquivo); ● Criar um objeto inputStream: ObjectInputStream stream = new ObjectInputStream(stream); ● Chamar os metodos: stream.readObject. Para escrita: *Tem muitas formas public void GravarArquivo ( Date objeto) throws IOException { File arquivo = new File("dados.dat"); FileOutputStream teste = new FileOutputStream(arquivo); try { ObjectOutputStream t = new ObjectOutputStream(teste); t.writeObject(objeto); t.flush(); t.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 
Cardinalidade 
Números que definem as quantidades min e máx nas relações entre classes e objetos. 
Indicam o número de objetos que tem referencia entre uma classe e outra. 
 
Diagrama UML 
Na UML, atributos são mostrados com pelo menos seu nome, e podem também mostrar seu 
tipo, valor inicial e outras propriedades. Atributos podem também ser exibidos com sua 
visibilidade conforme a tabela. Operações (métodos) também são exibidos com pelo menos 
seu nome, e podem também mostrar seus parâmetros e valores de retorno. Operações podem, 
como os Atributos, mostrar sua visibilidade conforme a tabela; 
 
+  (Atributo ou operações) Publico 
#  (Atributo ou operações) Protegido 
­  (Atributo ou operações) Privado 
Modelo de UML 
 
 
Nome da Classe 
Atributos 
(Atributo) Nome : Modelo 
(public) numero: int 
Atributos 
(Atributo) Nome(variaveis de entrada(variavel1 : 
modelo,...)) : Modelo 
(public) Telefone(var1:int):void 
 
 
Em diagrama de Classes os métodos da classe e seus construtores se diferenciam por apenas 
um fator: o tipo de retorno. Métodos apresentam retorno (ex.: ​Nome_Método(n parâmetros: 
tipos): tipo_retorno​) e os construtores não apresentam retorno (​Nome_Classe_Construtor(n 
parâmetros: tipos)​)[3] 
 
 
 
 
UML ­ ASSOCIAÇÃO ENTRE CLASSES 
­>  Associação Simples, quando uma classe precisa usar um objeto da 
outra. 
losango 
branco 
aberto 
Agregação quando uma classe utiliza as outras classes para forma­la. 
essa classe só existe se as outras existirem 
losango 
preto  
Composição quando uma classe precisa das outras para forma­la e as 
outras precisam dela, caso a classe mãe seja apagada as filhas tbm 
devem ser. 
triangulo 
aberto 
herança 
 
 
Threads “​Duas tarefas ao mesmo tempo” 
Imagine um programa que gera um relatório muito grande em PDF. É um processo demorado 
e, para dar alguma satisfação para o usuário, queremos mostrar uma barra de progresso. 
Queremos então gerar o PDF e ao mesmo tempo atualizar a barrinha. Este serviço só  possivel 
com a utilizaço de threads. 
Para executar a Threads utilizamos a ​interface Runnable​, a qual possui o metodo ​run​ que 
deve ser programado na classe que executa os processos paralelos . Para executar o mtodo 
run acessamos com o .start  no objeto Thread que sera o responsavel pelo processo paralelo. 
Exemplo: 
Public Class Processo1 extends Thread(){ 
run(){ 
//Código a ser executado 
} 
} 
Public Class Processo2 extends Thread(){ 
run(){ 
//Código a ser executado 
} 
} 
main(){ 
Processo1 P1 = new Processo1(); 
Processo2 P2 = new Processo2(); 
Thread totalP1 = new Thread(P1); 
Thread totalP2 = new Thread(P2); 
totalP1.start; //Chama a execução; 
totalP2.start;//Chama a execução; 
} 
Casting de referências 
Quando  uma classe recebe um objeto de qualquer tipo. Exemplo: 
public void adicionaObjeto(Object object) { } 
No entanto, precisamos avisar para a classe sobre como ser o comportamento do objeto e 
acessar seus métodos. Para isto: 
Conta contaResgatada = (Conta) object; 
 
 
java.lang.String  String é uma classe em Java. 
Variáveis do tipo String 
guardam referências a 
objetos, e não um valor, 
como 
acontece com os tipos 
primitivos. 
 
­ equals : compara 
strings 
­ split : divide a string 
em um array 
­ compareTo : compara 
strings 
­ charAt(i) : retornao 
caracter na posiçao i 
­ length: retorna o 
número de caracteres  
­ isEmpty: true para 
string vazia e false 
para cheia 
 
Fato importante:​ uma String 
é imutável. O java cria um 
pool de Strings para usar 
como cache e, se a String 
não fosse imutável, mudando 
o valor de uma String afetaria 
todas as Strings de outras 
classes que tivessem 
o mesmo valor 
 
java.lang.Math 
 
 
Na classe Math, existe uma 
série de métodos estáticos 
que fazem operações com 
números como, por exemplo, 
­ abs: modulo 
­ (sqrt): raiz 
­ (sin): seno 
­ round : arredondar 
­  
 
 
 
 
 
 
 
Referencias desse material  
 
 
 
[1] A maioria foi desenvolvido com o apoio dos materiais do professor ​Emerson Ribeiro de Mello, como 
slides disponibilizados no Instituto Federal de SC (IFSC​).Assim como as apostilas da Caelum. 
http://www.sj.ifsc.edu.br/~mello/livros/java/ 
http://www.sj.ifsc.edu.br/~mello/livros/java/apostila­caelum­java­objetos­fj11­2013.pdf 
[2]​http://pt.slideshare.net/armandodaniel777/java­orientao­a­objetos­associacao­composicao­agregacao 
[3]​ ​https://docs.kde.org/stable4/pt_BR/kdesdk/umbrello/uml­elements.html#class­diagram 
[4] Este resumo sofreu contibuições de grande valia efetuadas pelos alunos da disciplina de 
Programação Orientada a Objeto do curso de Engenharia de Telecomunicações do Intituto 
Federal de SC, sendo estes : 
Jessica da Siva Hahn 
Lucas Lucindo Vieira 
Kristhine Schaeffer Fertig 
Katharine Schaeffer Fertig 
Maria Luiza Theisges 
Helen Luciany Cechinel 
Vinicius Kachniacz 
 
 
 
 
Leticia Aparecida Coelho

Outros materiais