Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Para utilizar de forma eficiente as facilidades propostas pela P.O.O. é necessário que os desenvolvedores adaptem suas percepções para um enfoque totalmente diferente no que diz respeito da modelagem e resolução de problemas Programação Orientada a Objetos A P.O.O. é uma nova maneira de pensar sobre o que significa fazer cálculos, de como organizar as informações dentro de um sistema e a forma pela qual ocorre a descrição da visão (modelo) da realidade. Programação Orientada a Objetos Programação Orientada a Objetos É um conjunto de teorias, padrões e métodos que juntos representam um modo de organizar o conhecimento. [Thomas Huhn, Structure of Scientific Revolution, 1970] Não é apenas uma linguagem de programação acrescida com novos recursos É um novo Paradigma Princípios da P.O.O. 1o. Princípio Atributos (Dados) Objeto Métodos(Código) Princípios da P.O.O. M1, M2, M3, M4, M5, M6, M7,M8 (Métodos -Código) Definição Gráfica de um Objeto Atributos M1 M2 M3 M4 M5 M6 M7 M8 Princípios da P.O.O. 2o.Princípio Ocultação de Informações: o objeto que contém os atributos(dados) define quais os serviços que estão disponíveis para outro objeto. Nenhum objeto terá acesso ou conhecimento dos atributos(dados) ou a forma pela qual o serviço é realizado pelo método(código). Este mecanismo é denominado de Encapsulamento. Princípios da P.O.O. 3o.Princípio Passagem de Mensagens: um objeto pode comunicar com outro objeto através de um mecanismo de mensagem. A troca de mensagens é feita por meio de Serviços Públicos, que representam métodos de um objeto que podem ser chamados por um outro objeto. O mecanismo de troca de mensagens é feito por meio de uma Interface (protocolos) que representa a chamada de um protótipo de serviço. Princípios da P.O.O. Mensagem O Objeto A solicita um serviço para o Objeto B Atributos M1 M2 M3 M4 M5 M6 M7 M8 Atributos M1 M2 M3 M4 M5 M6 M7 M8 Objeto B Objeto A Princípios da P.O.O. 4o.Princípio Ligação Posterior: representa o suporte necessário para que um determinado método(código) de um objeto seja chamado por uma mensagem oriunda de um outro objeto em tempo de execução. Prof. Dimas Ferreira Cardoso 12 Princípios da P.O.O. 5o.Princípio Delegação: a solicitação de um serviço é transmitida via mecanismo de mensagem entre o objeto cliente (utiliza o serviço) a um objeto agente (prestador do serviço). Embora pela perspectiva do cliente, o agente pode realizar os serviços solicitados. Contudo, a solicitação do serviço pode ser transmitida continuamente até que ela atinja o objeto que tenha não só os atributos(dados) como o método(código) para realizar o serviço. Prof. Dimas Ferreira Cardoso 13 Princípios da P.O.O. Prof. Dimas Ferreira Cardoso 14 Princípios da P.O.O. 6o.Princípio Classe/Instância/Objeto: Todos os objetos são instâncias de uma classe. Instâncias podem ser criadas ou destruídas em tempo de execução. Considerações: a forma como um objeto provê um serviço é determinada pela classe da qual o objeto é instância todos os objetos de uma classe utilizam o mesmo método em resposta a uma mesma solicitação de serviço. Prof. Dimas Ferreira Cardoso 15 Princípios da P.O.O. 7o.Princípio Generalização sem polimorfismo: as classes podem ser organizadas por meio de uma estrutura de hierárquica. Nesta estrutura, a subclasse herdará os atributos, as associações e os métodos da superclasse, que se encontra no ponto mais alto da estrutura. Pessoa Cliente Vendedor Prof. Dimas Ferreira Cardoso 16 Princípios da P.O.O. 8o.Princípio Generalização com polimorfismo: as classes podem ser organizadas por meio de uma estrutura hierárquica. Nesta estrutura, a subclasse herdará os atributos, as associações e os métodos da superclasse, que se encontra no ponto mais alto da estrutura. Entretanto, uma subclasse poderá criar seu próprio método(código) para substituir um método herdado através superclasse. Funcionario Mensalista Horista Prof. Dimas Ferreira Cardoso 17 Princípios da P.O.O. 9o.Princípio Associações: representam as ligações entre os objetos que podem ser feitas através de uma associação binária , de uma agregação ou de uma composição. Prof. Dimas Ferreira Cardoso 18 Classe/Instância/Objeto Classe/Instância/Objeto Cada objeto caneta tem os mesmos atributos (Tamanho, Tipo de Escrita, Cor, Constituição), mas os valores para estes atributos são diferentes. Entretanto, ambos os objetos executam o mesmo método Escrever( ). Representa um conjunto de elementos (objetos) que possuem os mesmos atributos (estrutura de dados) e realizam as mesmas operações (código). Classe Classe/Instância/Objeto Representa um elemento (instância) de uma determinada classe. Objetos de uma mesma classe possuem os mesmos atributos e realizam as mesmas operações. Dentro da orientação a objetos as operações realizadas por um objeto são denominadas de métodos. Objeto Classe/Instância/Objeto Representa o processo de criação de um objeto de uma determinada classe. Instanciação Classe/Instância/Objeto Classe Objeto Instanciação Classe/Instância/Objeto Representação da Classe - Notação UML- Atributos M1 M2 M3 M4 M5 M6 M7 M8 M1, M2, M3, M4, M5, M6, M7,M8 (Métodos -Código) Representação de um Objeto Definição dos Atributos: todos os objetos de uma classe terão o mesmos atributos. A diferença entre os objetos de uma mesma classe é representada pelo armazenamento de diferentes valores para estes seus atributos. Cada atributo representa um tipo de dado (inteiro, real, caracter, matriz, ponteiro, etc ...). Definição dos Métodos: Todo método é um bloco de instruções cuja finalidade é permitir que o objeto execute uma determinada operação pré-estabelecida. Os objetos instanciados a partir de uma mesma classe utilizam os mesmos métodos (código) e somente os métodos do próprio objeto terão acesso sobre os seus atributos. Atributos/Métodos Características Altura Base Operações Apontar Altura Apontar Base Calcular Área Calcular Perímetro Retângulo Modelagem de uma Classe Objeto 5.0 8.0 setAltura( ) setBase( ) calcArea calcPerimetro - Altura : double - Base : double Retangulo + setAltura( double) : void + setBase(double) : void + calcArea() : double + calcPerimetro( ) : double Modelagem Classe Retângulo Instanciação Modelagem de uma Classe Modelagem Figura Retângulo
Compartilhar