480 likes | 567 Views
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG. LINGUAGEM DE PROGRAMAÇÃO Prof. Marcelo West. Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG. Conteúdo: Orientação a Objetos.
E N D
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG • LINGUAGEM DE PROGRAMAÇÃO • Prof. Marcelo West
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG • Conteúdo: • Orientação a Objetos
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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.
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
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG • UML • UnifiedModelingLanguage • Linguagem para representação de modelos visuais com um significado especifico e padronizado
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
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
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
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