1 / 34

Implementação Orientada a Objetos Prof. Rodrigo Rocha – UMC Prof. Pedro Toledo - UMC

Implementação Orientada a Objetos Prof. Rodrigo Rocha – UMC Prof. Pedro Toledo - UMC. Ambiente de programação orientada a objetos. Conceitos de classe-objeto; Atributos, métodos; Herança; Conceitos de public, private protected; Encapsulamento; Relação generalização-especialização;

Télécharger la présentation

Implementação Orientada a Objetos Prof. Rodrigo Rocha – UMC Prof. Pedro Toledo - UMC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementação Orientada a ObjetosProf. Rodrigo Rocha – UMCProf. Pedro Toledo - UMC

  2. Ambiente de programação orientada a objetos • Conceitos de classe-objeto; • Atributos, métodos; • Herança; • Conceitos de public, private protected; • Encapsulamento; • Relação generalização-especialização; • Polimorfismo; • Troca de mensagens entre objetos.

  3. Bibliografia • Pádua, W, P. F. “Engenharia de Software”. Fundamentos, métodos e padrões. Editora: LCT, 2001. • Booch, G; Rumbaugh, J. ; Jacobson, I.” UML -Guia do usuário”. Editira Campus. 1999. • Cay S. ; Horstmann; Gary Cornell “ Core Java – Volume I – Fundamentals”. Sun Microsystems Press. 1999. • Cay S. ; Horstmann; Gary Cornell “ Core Java – Volume I – Fundamentals”. Sun Microsystems Press. 1999. • Deitel, H. M.; Deitel, P. J. “Java como programar”. Editora Bookman 2000.

  4. Bibliografia (Continuação) • Coad, P, Yourdon, E, Análise baseada em objetos. Editora Campus – 1992. • Coad, P, Yourdon, E, Projeto baseada em objetos. Editora Campus 1993. • Coad, P. ; Nicola, J. Object-oriented Programming. Editora Yourdon Press- 1993.

  5. Ferramentas de trabalho • Documentação: UML (Rose, outros); • Implementação: Linguagem java; • ...

  6. Avaliação • Três provas – M1, ND e Prova interdisciplinar 30% da nota; • Datas: • M1 (12 ou 19 de abril de 2013) • ND (07 de junho de 2013) • Trabalhos – totalizando 20% da nota; • Datas: • Oportunas

  7. Paradigma • Conceito: “Paradigma é um conjunto de regras que estabelecem fronteiras e descreve como resolver os problemas dentro destas fronteiras.” • Os paradigmas influenciam nossa percepção; ajudam nos a organizar e a coordenar a maneira como olhamos para o mundo...

  8. Orientação a Objetos • Conceito: O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos; • Linguagens que implementam OO. • Smalltalk; • Pascal, (DELPHI); • C++, (BUIDER, VISUAL C++, BORLAND); • Java.

  9. O que são Objetos? • Coisas tangíveis • Livro; • Telefone. • Eventos • Copa do mundo; • Simpósio. • Transação • Um contrato; • Um pedido de compra.

  10. Porque muitas empresas não adotam OO? • Incerteza; • falta de pessoas treinadas; • Mas também OO não é a “bala de prata”; • Sempre a última inovação tecnológica nos parece ser definitiva, vai resolver todos os nossos problemas !!!

  11. A mudança do enfoque Foco na Classe Foco no Sistema

  12. Objeto- outro conceito • Objetos são pacotes de software compostos de dados e procedimentos; • Os procedimentos atuam sobre os dados; • Os dados determinam o estado do objeto.

  13. Objetos ­ Notação Procedimentos Dados

  14. Exemplo de objeto parar • Um carro: acelerar modelo marca ano trocar a marcha buzinar virar

  15. Exemplo de objeto Emitir extrato • Um conta bancária: depositar cliente número saldo limite Solicitar saldo sacar transferências

  16. Exercício (10 minutos) • Liste 3 métodos e 3 atributos para os seguintes objetos: • Funcionário; • Aluno; • Pedido de um cliente;

  17. Encapsulamento • Conceito: Encapsulamento é definido como uma técnica para minimizar as interdependências entre “módulos'‘. • Benefícios: • Segurança: protege os atributos dos objetos de serem corrompidos por outros objetos; • Independência: “escondendo'' seus atributos e métodos.

  18. Troca de mensagens Objetos interagem e comunicam se através de mensagens... EmissorReceptor

  19. Mensagens e métodos As mensagens identificam os métodos a serem executados no objeto receptor. • Para invocar um método de um objeto, deve-se enviar uma mensagem. • Para enviar uma mensagem é necessário: • identificar o objeto que receberá a mensagem; • identificar o método que o objeto deve executar; • passar os argumentos requeridos pelo método.

  20. Exemplo de troca de mensagens Obter preço preço Produto Calcular Total Pedido

  21. Métodos ou operações Conceito: É a implementação de um serviço prestado pelo objeto para a comunidade de objetos ou a si mesmo. Tipos de Métodos: • métodos de acesso; • métodos gerais.

  22. Métodos - Exemplos Objeto: Fita de vídeo. • Métodos de acesso • situação da fita, nome do filme, preço de aluguel. • Métodos gerais • cadastramento, empréstimo, exclusão.

  23. Classe Uma classe é a abstração de um conjunto de objetos com características semelhantes. Uma classe define o comportamento de seus objetos através de métodos e os estados possíveis destes objetos através de atributos. De forma geral uma classe descreve os serviços providos por seus objetos e quais informações eles podem armazenar.

  24. Classe em Java [ palavra-chave ] ‘class’ NomeDaClasse ‘{‘   // comportamentos e variáveis são declarados e descritos entre o ‘{‘ e o ‘}’ ‘}’ Sendo assim, para declarar uma classe, coloque a palavra classseguida de um identificador (NomeDaClasse) que será o nome da classe. O identificador pode ser qualquer palavra, exceto palavras reservada da linguagem. Por exemplo, classConta introduz a declaração de uma nova classe onde Contaé o nome da classe. Dica: Por convenção, o nome de uma classe inicia sempre com uma letra maiúscula. A palavra-chave é opcional e pode ser qualquer uma das seguintes: ‘public’, ‘abstract’, ‘public abstract’ ou  ‘final’.

  25. Classe em Java (Continuação) [ palavra-chave ] ‘class’ NomeDaClasse ‘{‘   // comportamentos e variáveis são declarados e descritos entre o ‘{‘ e o ‘}’ ‘}’ Utilize a palavra-chave ‘public’ para criar um nome de classe que possa ser utilizado em qualquer outra classe de qualquer programa ou pacote. Colocando public na frente de uma declaração de classe, essa só poderá ser utilizada dentro do código de programa ou pacote atual. É importante salientar que pode se declarar mais de uma classe por arquivo, porém, somente uma delas poderá ser public (pública). Assim, o nome do arquivo do código-fonte deverá ser o mesmo da classe pública.

  26. Classe em Java (Continuação) • Exemplo: • public class ClasseExemplo • { } • No exemplo, o nome do arquivo onde ClasseExemplofoi definida deve se chamar ClasseExemplo. Declarar essa classe (pública) em outro arquivo não é permitido e irá gerar um erro de compilação. • Java considera diferentes letras maiúsculas e minúsculas. Assim, o nome da classe e o nome do arquivo devem ser exatamente iguais. Isso significa que o nome do arquivo deve ser escrito com o ‘C’ maiúsculo (de Classe) e ‘E’ maiúsculo (de Exemplo). As demais letras devem ser minúsculas.

  27. Classe em Java (Continuação) • Exemplo: • public class ClasseExemplo • { } • Utilize a palavra-chave ‘abstract’ para indicar que a classe corresponde a uma classe abstrata. Classes abstratas não podem ser utilizadas para a criação de objetos. Elas só servem como “classes-pai”, para que “classes-filhas” sejam criadas a partir delas. • Cada classe possui um “corpo” onde você declara os comportamentos (métodos) e variáveis de estado (atributos ou campos). O corpo começa com o caractere ‘ { ‘ e termina com o caractere ‘ } ’.

  28. Criando Objetos Um objeto é uma instância de uma classe. Para criar um objeto, utilize a seguinte sintaxe: ‘new’ construtor • O comando new também conhecido como operador de criação, cria um novo objeto, alocando memória para o objeto e inicializando essa memória para valores default. O comando new necessita de um operando: o construtor, que é o nome de um método especial que constrói o objeto da seguinte forma: Pessoa umaPessoaQualquer = new Pessoa();

  29. Criando Objetos Uma vez construído, o objeto deve ser atribuído a uma variável, para que possa ser utilizado e referenciado no futuro. Preste atenção ao exemplo seguinte: class Pessoa{ } class ProgramaExemplo{ public static void main(Strings parametros[]){ Pessoa umaPessoaQualquer; // declara uma variável que pode armazenar objetos do tipo Pessoa (definido na classe anterior) umaPessoaQualquer = new Pessoa(); // cria uma nova pessoa e coloca-a na variável umaPessoaQualquer      }   }  Nesse exemplo foi definida uma classe chamada Pessoa e após, no programa principal, foi criada uma variável chamada umaPessoaQualquer para receber um objeto do tipo pessoa (note que o tipo da variável é Pessoa, pois a variável é declarada de forma similar à declaração de variáveis do tipo int qualquer outro tipo natural da linguagem). Após, um novo objeto do tipo Pessoa é criado, através do comando new Pessoa(). Esse objeto é colocado na variável  umaPessoaQualquer através do comando de atribuição (sinal de igual).

  30. Aluno - media: double - nota1: double - nota2: double + calcularMedia() : void + imprimir() : void Classe Aluno

  31. Código da classe Aluno publicclass Aluno { privatedouble media; privatedouble nota1; privatedouble nota2; //Construtor public Aluno() { media = 0; } //Métodosdeacesso publicdouble getMedia() { return media; } publicvoid setMedia(double media) { this.media = media; } publicdouble getNota1() { return nota1; } publicvoid setNota1(double nota1) { this.nota1 = nota1; } publicdouble getNota2() { return nota2; } publicvoid setNota2(double nota2) { this.nota2 = nota2; } public void calcularMedia() { media = (nota1 + 2 * nota2) / 3; } public void imprimir() { System.out.println("Nota1 " + nota1); System.out.println("Nota2 " + nota2); System.out.println("Media " + media); } public static void main(String args[]) { Aluno aluno; aluno = new Aluno(); aluno.setNota1(new Float(args[0]).floatValue()); aluno.setNota2(new Float(args[1]).floatValue()); aluno.calcularMedia(); aluno.imprimir(); } }

  32. Java Declara uma classe chamada Carro Que tem um atributo modelo do tipo String publicclass Carro { private String modelo; public Carro(String aModelo){ modelo = aModelo; } public String getModelo() { return modelo; } publicvoid setModelo(String modelo) { this.modelo = modelo; } public String toString(){ return "Modelo: " + modelo; } publicstaticvoid main(String arg[]){ Carro carro = new Carro(arg[0]); System.out.println(carro.toString()); } } Possui um construtor parametrizado Possui quatro métodos

  33. Java Todo programa Java é executado por um programa chamado "java.exe". A primeira coisa que ele faz é procurar na classe que você passou como parâmetro, um método chamado "main" , que seja público , e que ele não precise instanciar um objeto da classe para chamar - é por isso que ele tem de ser static. Outra coisa que o programa faz é passar os argumentos da linha de comando para essa classe, nessa variável "args". Ou seja: java Carro Siena ele chama o método "publicstaticmain" da classe Carro e preenche a variável args com o seguinte valor: args[0] = “Siena" publicclass Carro { privateString modelo; public Carro(StringaModelo){ modelo = aModelo; } publicStringgetModelo() { return modelo; } publicvoidsetModelo(String modelo) { this.modelo = modelo; } publicStringtoString(){ return "Modelo: " + modelo; } publicstaticvoidmain(Stringarg[]){ Carro carro = new Carro(arg[0]); System.out.println(carro.toString()); } }

  34. Java publicclass Carro { private String modelo; public Carro(String aModelo){ modelo = aModelo; } public String getModelo() { return modelo; } publicvoid setModelo(String modelo) { this.modelo = modelo; } public String toString(){ return "Modelo: " + modelo; } publicstaticvoid main(String arg[]){ Carro carro = new Carro(arg[0]); System.out.println(carro.toString()); } } • carro.toString() é uma instância da classe de cadeia de caracteres String. println é um método que imprime a String retornada pelo método toString() • println é um método da subclasse PrintStream denominada out na classe String. Este método escreve na tela a cadeia de caracteres que lhe é passada como parâmetro e faz uma quebra de linha (faz com que a próxima escrita na tela seja na próxima linha).

More Related