TÉCNICAS DE PROGRAMAÇÃO II Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG TÉCNICAS DE PROGRAMAÇÃO II Prof. Marcelo West
Orientação a Objetos Conteúdo: Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Conteúdo: Orientação a Objetos
Utilizada para simulações Conceitos de Classe e SubClasse Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Histórico SIMULA Anos 60 Utilizada para simulações Conceitos de Classe e SubClasse
Desenvolvida pela XEROX Primeira linguagem orientada a objetos de fato Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG SMALLTALK Anos 70 Desenvolvida pela XEROX Primeira linguagem orientada a objetos de fato Cada elemento do SMALLTALK é tratado como um objeto
Um dos pais do paradigma da orientação a objetos Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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? Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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 Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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
Princípios da Orientação a Objetos Qualquer coisa é um objeto Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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 Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Cada objeto pertence a uma determinada classe Uma classe agrupa objetos similares A classe define as características e comportamento associado ao objeto
Programação Orientação a Objetos Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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 Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Cada objeto é responsável por realizar tarefas específicas É através da interação entre objetos que uma tarefa computacional é realizada
Linguagens Orientadas a Objetos Simula Smalltalk C++ Object Pascal Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Linguagens Orientadas a Objetos Simula Smalltalk C++ Object Pascal Java .NET
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Um sistema Orientado a Objetos é uma simulação de um cenário real (vida) ou fictício (filme)
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Para construir sistemas Orientados a Objetos é necessário entender os conceitos por trás do paradigma
No mundo real objeto é tudo que podemos tocar Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Objeto 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
Características dos Objetos Único Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Características dos Objetos Único Possui atributos que definem caraterísticas e/ou estado
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Possuem capacidade de realizar ações que chamamos de métodos ou funções
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Normalmente se diz que um objeto é uma instância de uma Classe. O que é uma Classe ?
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Classe Estrutura (molde) que define os atributos e/ou estados de um conjunto de objetos com características similares.
Descreve os serviços (ações) providos por seus objetos Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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
Atributos de uma Classe Caraterísticas e/ou estado de uma classe Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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
Conjunto de ações que um determinado objeto pode executar Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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 Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG São acionados por outros objetos Os objetos se comunicam através de métodos Troca de mensagens
Diferente de outro método pois não possui retorno Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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 Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Pode receber parâmetros Normalmente utilizados para inicializar os valores dos atributos do objeto
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Para representar classes e objetos em modelos computacionais podemos utilizar uma notação chamada UML
Unified Modeling Language Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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 Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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
Estereótipo de uma Classe em UML Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Estereótipo de uma Classe em UML
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Para desenvolver aplicações O.O. é necessário identificar os objetos na vida 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
Associações Forma como uma classe se relaciona com outra classe Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Encapsulamento Separar o programa em partes, tornando cada parte mais isolada possível uma da outra A ideia é tornar o software mais flexível, fácil de modificar e de criar novas implementações
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Uma grande vantagem do encapsulamento é que toda parte encapsulada pode ser modificada sem que os usuários da classe em questão sejam afetados
Classe pai é chamada de superclasse e a filha de subclasse Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG 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
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG O objetivo da herança é especializar o entendimento de uma classe criando novas características e comportamentos que vão além da superclasse
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG Generalização 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
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG