O documento fornece uma introdução aos principais conceitos da programação orientada a objetos, incluindo a história do paradigma, analogia biológica, princípios, classes, objetos, associações, herança, polimorfismo e outras características-chave.
Ao final da aula, os alunos saberão identificar as principais diferenças entre a programação estruturada e a programação orientada a objetos.
Apresentar aos alunos uma introdução a linguagem C# e a IDE Visual Studio.
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
Aula 2 da disciplina Programação Orientada a Objetos, onde é apresentando o conceito inicial da linguagem JAVA, que será a base da aplicação prática na disciplina.
Ao final da aula, os alunos saberão identificar as principais diferenças entre a programação estruturada e a programação orientada a objetos.
Apresentar aos alunos uma introdução a linguagem C# e a IDE Visual Studio.
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
Aula 2 da disciplina Programação Orientada a Objetos, onde é apresentando o conceito inicial da linguagem JAVA, que será a base da aplicação prática na disciplina.
Aula 09 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos sobre herança.
Ao final da aula, os alunos saberão identificar as principais diferenças entre a programação estruturada e a programação orientada a objetos.
Apresentar aos alunos uma pequena revisão de C# e a IDE Visual Studio.
Aula 09 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos sobre herança.
Ao final da aula, os alunos saberão identificar as principais diferenças entre a programação estruturada e a programação orientada a objetos.
Apresentar aos alunos uma pequena revisão de C# e a IDE Visual Studio.
Este ebook. cuja apresentação eu escrevi, traz uma coletânea de posts escritos pelo colega Cézar Taurion nos últimos três anos, que revivem os questionamentos e dúvidas sobre SOA, então uma novidade. Serve para compararmos o que então falávamos, com os dias de hoje. Muita coisa mudou, principalmente com relação à absorção dos conceitos. Portanto, estes posts nos resgatam algumas destas discussões sobre o assunto.
Slides do segundo dia do Workshop (intensivo :) ) sobre Introdução à Programação de Dispositivos Móveis (Google Android, Apple iPhone, iPod Touch e iPad)
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
Características da Programação Orientada por Objetos (POO).
Conceito de Classe, Atributos, Métodos, e Eventos.
Conceito de Objeto.
Conceito de Encapsulamento.
Conceito de Visibilidade de Classes, Métodos e Atributos.
Diagramas de Classe.
O ambiente de trabalho do Visual C#.
Objetos básicos e outras características básicas da linguagem do Visual C# e respetivo ambiente de trabalho.
Mini aula abordando os conceitos básicos sobre esta maravilhosa linguagem de programação. Nesta apresentação procuro destacar os pontos mais importantes para aqueles que estão iniciando agora no desenvolvimento de sistemas em JAVA.
proposta curricular para educação de jovens e adultos- Língua portuguesa- anos finais do ensino fundamental (6º ao 9º ano). Planejamento de unidades letivas para professores da EJA da disciplina língua portuguesa- pode ser trabalhado nos dois segmentos - proposta para trabalhar com alunos da EJA com a disciplina língua portuguesa.Sugestão de proposta curricular da disciplina português para turmas de educação de jovens e adultos - ensino fundamental. A proposta curricular da EJa lingua portuguesa traz sugestões para professores dos anos finais (6º ao 9º ano), sabendo que essa modalidade deve ser trabalhada com metodologias diversificadas para que o aluno não desista de estudar.
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptxMariaSantos298247
O presente manual foi concebido como instrumento de apoio à unidade de formação de curta duração – CP4 – Processos identitários, de acordo com o Catálogo Nacional de Qualificações.
Projeto de articulação curricular:
"aLeR+ o Ambiente - Os animais são nossos amigos" - Seleção de poemas da obra «Bicho em perigo», de Maria Teresa Maia Gonzalez
Slides Lição 9, Central Gospel, As Bodas Do Cordeiro, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 9, Central Gospel, As Bodas Do Cordeiro, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
América Latina: Da Independência à Consolidação dos Estados NacionaisValéria Shoujofan
Aula voltada para alunos do Ensino Médio focando nos processos de Independência da América Latina a partir dos antecedentes até a consolidação dos Estados Nacionais.
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
2. http://www.takenami.com.br
Histórico
• SIMULA
- Anos 60
- Utilizada para simulações
- Conceitos de Classe e SubClasse
• SMALLTALK
- Anos 70
- Desenvolvida pela XEROX
- Primeira linguagem orientada a objetos de fato
- Cada elemento do SMALLTALK é tratado como um objeto
3. http://www.takenami.com.br
Analogia Biológica
• Alan Kay,
- Um dos pais do paradigma da orientação a objetos
- Analogia biológica
• Como seria um sistema de software que funcionasse como
um ser vivo?
• Cada “célula” interagiria com outras células através do envio
de mensagens para realizar um objetivo comum
• Adicionalmente, cada célula se comportaria como uma
unidade autónoma
• Construir um sistema de software a partir de agentes
autónomos que interagem entre si
4. http://www.takenami.com.br
Princípios da Orientação a Objetos
• Qualquer coisa é um objeto
• Objetos realizam tarefas através da troca de
mensagens com outros objetos
• Cada objeto pertence a uma determinada classe
• Uma classe agrupa objetos similares
• A classe define as características e
comportamento associado ao objeto
5. http://www.takenami.com.br
Programação Orientação a Objetos
• Sistema de software como um conjunto de
agentes interconectados
• Agentes = Objetos
• Cada objeto é responsável por realizar tarefas
específicas
• É através da interação entre objetos que uma
tarefa computacional é realizada
9. http://www.takenami.com.br
Objeto
• Unidade que utilizamos para representar
abstrações em um sistema computacional
• No mundo real objeto é tudo que podemos
tocar
• No mundo imaginário um objeto é tudo que
podemos representar
10. http://www.takenami.com.br
A interação entre estes objetos formam grupo
de objetos mais complexos que agrupado a
outros grupos de objetos complexos dão
origem ao sistemas reais, como por exemplo o
funcionamento de um carro
11. http://www.takenami.com.br
Características dos Objetos
• Único
• Possui atributos que definem caraterísticas e/ou
estado
• Possuem capacidade de realizar ações que
chamamos de métodos ou funções
• Normalmente se diz que um objeto é uma
instância de uma Classe.
• O que é uma Classe ?
12. http://www.takenami.com.br
Classe
• Estrutura (molde) que define os atributos e/ou
estados de um conjunto de objetos com
características similares.
• Define o comportamento de seus objetos (ações
que o objeto pode fazer) através de métodos.
• Descreve os serviços (ações) providos por seus
objetos
• Quais informações eles podem armazenar
13. http://www.takenami.com.br
Atributos de uma Classe
• Caraterísticas e/ou estado de uma classe
• Após a classe ser instanciada em um objeto os
atributos vão receber valores (caraterísticas e/ou
estados) que definem o objeto
14. http://www.takenami.com.br
Métodos de uma Classe
• Conjunto de ações que um determinado objeto
pode executar
• Definem o que um objeto pode fazer
• São acionados por outros objetos
- Os objetos se comunicam através de métodos
- Troca de mensagens
15. http://www.takenami.com.br
Construtor da Classe
• Método especial definido na classe e executado
no momento que o objeto é instanciado
• Diferente de outro método pois não possui
retorno
• Deve ter o mesmo nome da classe.
• Pode receber parâmetros
- Normalmente utilizados para inicializar os valores
dos atributos do objeto
17. http://www.takenami.com.br
UML
• Unified Modeling Language
• Linguagem para representação de modelos
visuais com um significado especifico e
padronizado
• UML não é uma linguagem de programação
• Os modelos são representados através de
diagramas que possuem semântica própria
• O diagrama que representa a descrição das
classes é o Diagrama de Classes
19. http://www.takenami.com.br
Estrutura básica de uma classe
public class Carro {
String cor; Atributos
String marca;
int velocidade;
public Carro(String cor, String marca){
this.cor = cor;
this.marca = marca; Construtor
velocidade = 0;
}
public void acelerar(){
velocidade++;
} Métodos
public void parar(){
velocidade = 0;
}
}
21. http://www.takenami.com.br
Instanciando uma Classe
public class Main {
public static void main(String[] args) {
Carro fusca = new Carro("preto", "volkswagen");
fusca.acelerar();
fusca.acelerar();
fusca.parar();
}
}
23. http://www.takenami.com.br
Abstração
Uma abstração é qualquer
modelo que inclui os aspectos
relevantes de alguma coisa, ao
mesmo tempo em que ignora os
menos importantes
24. http://www.takenami.com.br
Abstração
• Representa as características que devem conter
em uma classe para atender a um determinado
problema
• Somente as características necessárias para
atender a um determinado problema
• Representação de um determinado ponto de
vista ou abstração do problema
25. http://www.takenami.com.br
Para desenvolver aplicações O.O. é necessário
identificar os objetos na vira real, extrair a
classe que aquele objeto pertence e selecionar
os atributos e métodos que serão necessários
levando em consideração o modelo
computacional que está sendo desenvolvido
26. http://www.takenami.com.br
O modelo O.O. é o conjunto de classes
que visam resolver um problema
computacional levando em
consideração como este problema é
abordado no mundo real
27. http://www.takenami.com.br
Associações
• Forma como uma classe se relaciona com outra
classe
• Uma classe pode conter atributos que geram
instâncias de outra classe
- Uma classe pode conter outra classe como atributo
- Quando isto ocorre dizemos que uma classe possui
outra classe associada a ela
28. http://www.takenami.com.br
Associações
public class Carro { public class Motor {
int cavalos;
String cor; int rotacoes; Observe que o
String marca;
int velocidade; construtor não é
public Motor(){ necessário
Motor ferrari;
}
public Carro(String cor, String marca){
public void diminuir_giro(){
this.cor = cor;
this.marca = marca; System.out.println("Diminuindo as rotações do motor.");
velocidade = 0; rotacoes-=1000;
}
ferrari = new Motor();
} public void aumentar_giro(){
public void acelerar(){ System.out.println("Aumentando as rotações do motor.");
ferrari.aumentar_giro(); rotacoes+=1000;
velocidade = ferrari.trabalho_do_motor() / 1000; }
}
public int trabalho_do_motor(){
public void parar(){
return rotacoes * cavalos;
velocidade = 0;
} }
}
}
30. http://www.takenami.com.br
Encapsulamento
• Separar o programa em partes, tornando cada
parte mais isolada possível uma da outra
• A idéia é tornar o software mais flexível, fácil de
modificar e de criar novas implementações
• Permite utilizar o objeto de uma classe sem
necessariamente conhecer sua implementação
• Protege o acesso direto aos atributos de uma
instância fora da classe onde estes foram criados
31. http://www.takenami.com.br
Uma grande vantagem do
encapsulamento é que toda parte
encapsulada pode ser modificada sem
que os usuários da classe em questão
sejam afetados
32. http://www.takenami.com.br
Herança
• Capacidade que uma classe tem de herdar as
características e comportamentos de outra
classe
• Classe pai é chamada de superclasse e a filha de
subclasse
• Em Java só é permitido herdar de uma única
classe, ou seja, não permite herança múltipla
33. http://www.takenami.com.br
O objetivo da herança é especializar o
entendimento de uma classe criando
novas características e
comportamentos que vão além da
superclasse
34. http://www.takenami.com.br
Ao mesmo tempo que a especialização
amplia o entendimento de uma classe, a
generalização vai no sentido inverso e
define um modelo menos especializado
e mais genérico
35. http://www.takenami.com.br
Herança
Superclasse de Morcego - Generalização Subclasse de Mamifero - Especialização
public class Mamifero { public class Morcego extends Mamifero {
int altura; int tamanho_presa;
double peso; public void voar(){
public void mamar(){ System.out.println("Morcego Voando");
System.out.println("Mamifero mamando"); }
} }
}
36. http://www.takenami.com.br
Classe Morcego
• Quais as características de morcego ?
- altura
- peso
- tamanho_presa
• Quais ações o morcego pode fazer ?
- mamar
- voar
37. http://www.takenami.com.br
Se usarmos os princípios de lógica
podemos dizer que todo morcego é
mamífero porém NÃO podemos
afirmar que todo mamífero é morcego
38. http://www.takenami.com.br
Observe
1) Mamifero animal_mamifero = new Morcego();
2) Morcego batman = new Mamifero();
• Com base no que foi dito até aqui podemos deduzir que o item
2 deve causar um erro já que não é possível garantir que todo
mamífero seja um morcego
• Já o item 1 pode parecer estranho, pois a variável é do tipo
Mamífero e o objeto para o qual a variável se refere é do tipo
Morcego
• Devemos saber que toda variável pode receber um objeto que
seja compatível com o seu tipo e neste caso todo Morcego
CERTAMENTE é um Mamífero
39. http://www.takenami.com.br
O código apresentado funciona?
Mamifero animal_mamifero = new Morcego();
animal_mamifero.mamar();
animal_mamifero.voar();
Morcego batman = (Morcego) animal_mamifero;
batman.voar();
40. http://www.takenami.com.br
Conclusão
• Todo Morcego é um Mamífero, porem não pode
realizar todas as ações de um morcego
- A variável que recebe o objeto é do tipo Mamífero
• Para o Morcego voar é necessário criar uma
nova variável do tipo Morcego e atribuir o objeto
que estava na variável animal_mamifero
• Este tipo de operação recebe o nome de TYPE
CAST
42. http://www.takenami.com.br
Sobrescrita
• Substitui o comportamento de uma subclasse
quando herdada da superclasse
• Na prática a sobrescrita reescreve um método
que já tinha sido definido na superclasse
public class Mamifero{ public class Golfinho extends Mamifero{
... ...
public void andar(){ public void andar(){
System.out.println("Mamifero andando"); System.out.println("Golfinho Nadando");
} }
} }
43. http://www.takenami.com.br
Sobrecarga
• É a capacidade de definir métodos com o mesmo
nome
- Possuem a mesma funcionalidade
• Necessário que a assinatura seja diferente
- A mudança na assinatura ocorre alterando a
quantidade e/ou tipo de parâmetros que um método
recebe
44. http://www.takenami.com.br
Exemplo de Sobrecarga
public int somar(int v1, int v2){
return v1 + v2;
}
public int operar(int v1, int v2){
return somar(v1, v2);
}
public int operar (char op, int v1, int v2){
switch(op){
case '+':
return somar(v1, v2);
break;
case '-':
return subtrair(v1, v2);
}
}