Grupo de Estudos VSM Se liga aí, que é hora da revisão! Orientação a Objetos Celular cel01,cel02,cel03; cel01 = new Celular(); cel01.setMarca(“Samsung”); cel02 = new Celular(); cel02.setMarca(“Nokia”); cel03 = cel02; cel03.setMarca(“Apple”); System.out.println(“Celular 01: ”+cel01.getMarca()); System.out.println(“Celular 02: ”+cel02.getMarca()); System.out.println(“Celular 03: ”+cel03.getMarca()); R: Samsung, Apple, Apple // BMW,Fiat,Fiat A respeito da visibilidade de atributos e métodos, explique o que significam as palavras reservadas: private, public e protected private: acessível somente a própria classe; public: acessível a todas as classes; protected: acessível somente a própria classe e suas “filhas”; Explique com suas palavras o que é um Objeto e qual a sua finalidade. Dado que o tipo Animal possui o atributo nome, instancie um objeto deste tipo e atribua um nome a ele Objeto = materialização da classe. Usamos para ter acesso aos atributos e métodos definidos na classe. Animal a = new Animal(); a.nome = “Juliano”; Explique com suas palavras o que significa o conceito de Herança e qual a sua finalidade. Qual a palavra chave que usamos para estabelecer uma relação de herança entre classes em Java. (Cite um exemplo, se julgar necessário) Herança: Permite que classes compartilhem atributos e métodos (public e protected); Reaproveitamento de código; Palavra-chave ‘extends’ Public class Mula extends Animal{ //....... } Explique com suas palavras porque utilizamos o encapsulamento (getters/setters) nas Classes Encapsulamento = proteger/esconder algo (atributo ou método) Public class Calopsita extends Animal{ private String nome; private String getNome(){ return this.nome; }; private void setNome(String n){ this.nome = n; } } Dado o exemplo abaixo envolvendo a interface IAnimal e a classe Cachorro, explique o conceito de interfaces e reescreva a classe Cachorro com o que está faltando no código. Interface = Contrato ! A classe que implementar a interface é obrigada a implementar seus métodos (criar o corpo do método!) Dado o exemplo abaixo envolvendo a interface IAnimal e a classe Cachorro, explique o conceito de interfaces e reescreva a classe Cachorro com o que está faltando no código. public class Cachorro implements IAnimal{ public void falar(){ System.out.println(‘Au Au’); } public void falar(){ System.out.println(‘Cachorro comendo!’); } } MVC Separa o código de acordo com a sua finalidade. Facilita manutenção do código Model (Modelo): camada responsável pelas regras de negócios View (Visão): as “telas” do nosso sistema, seja ela Web, Desktop, Mobile e etc. Controller (Controlador): camada responsável por controlar todo o fluxo de informação DAO DAO (Data Access Object) : Camada usada especificamente para o acesso ao banco de dados (inserts, updates, etc.) Em geral não deve ter regras de negócio implementadas.