Conceitos de Orientação a Objetos zConceito de tipo zTipos Abstratos de Dados zMódulos/Pacotes zEncapsulamento.

Slides:



Advertisements
Apresentações semelhantes
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Advertisements

I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Introdução a Programação Orientada a Objetos
ABSTRAÇÃO processo de representar um grupo de entidades através de seus atributos comuns feita a abstração, cada entidade particular (instância) do grupo.
Java e OO – Isso é só um roteiro de aula
Paulo Marques Hernâni Pedroso
PHPOO Erick Souza. Conceitos de Orientação a Objetos Objeto é um conceito ou item(concreto ou abstrato). Software orientado a objetos Uma classe é uma.
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
Modelagem Orientada a Objetos
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
Orientação a objetos Objetos ou Instâncias Métodos ou Mensagens
Introdução a diagrama de classes e UML
Diagrama de Classes.
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Programação orientada a objetos com Java
Classes e objetos P. O. O. Prof. Grace.
Curso de extensão em Desenvolvimento Web
Classes, Objetos e Encapsulamento
Herança em C#.
Introdução a programação (if669cc)
Programação Orientada a Objetos com Java
Aula prática 13 Orientação a Objetos – C++ Parte 1
JAVA Orientação a Objetos
Linguagens Orientadas a Objeto
Caio Argolo Luiz Daud Jorge Roberto
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Tópicos avançados em internet A
Atributos, Encapsulamento e Interface em Java
Métodos de Construção de Software: Orientação a Objetos
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Herança em Java.
Classes, Objetos, Atributos e Métodos JAVA
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
if669 - Introdução à Programação
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
Orientação a Objetos Parte I
Programação Orientada à Objetos
Programação Orientada a Objetos - Java
SISTEMAS DISTRIBUIDOS Aula 4
© Ricardo Pereira e Silva
Aula prática 14 Orientação a Objetos – C++ Parte 2
Programação Orientada à Objetos
Interfaces e classes abstratas. Conceitos de Orientação a Objeto.
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Java Kickstart, day 2 Semelhanças com linguagem C.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
1 Marcio de Carvalho Victorino JAVA. 2 Declaração de Atributos [ ] [transient] [volatile] [static] [final] ; controle de acesso –public, package (default),
Classes Abstratas e Interface
Prof.: Bruno Rafael de Oliveira Rodrigues.  Existe para poder servir de molde para outras classes.  Deve ser declarada tal usando-se a palavra chave.
Laboratório de Programação II Pacotes Visibilidade Referências a Objetos.
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Classes Abstratas e Interfaces GX – Aula05 1.
Padrões de Projeto Abstract Factory.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Modificadores Programação II.
OO com Java Luiz Carlos d´Oleron Roteiro de aula.
Conceitos do Cliente Funcionamento Básico do Cliente Como Clientes acessam e usam Objetos Distribúidos.
Introdução a Orientação a Objetos
Herança.
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
2 – Revisão de Programação Orientada a Objetos
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Módulo II Capítulo 1: Orientação a Objetos
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
MATA56 Tipos, Verificação de Tipos Agenda Objetivo desta aula: Introduzir os principais aspectos semânticos de variáveis Palavras-chave – nomes.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Conceitos de Orientação a Objetos zConceito de tipo zTipos Abstratos de Dados zMódulos/Pacotes zEncapsulamento

Variáveis X Objetos Variável R: record Variável P: objeto record

Variáveis X Objetos objeto d1 objeto d2 pd1 pd2

Conceito de tipo zTipo é uma especificação de um conjunto de valores que podem ser associados com uma variável, junto com as operações que podem ser legalmente usadas para criar, fazer acesso e modificar tais valores. zEsse conjunto de operações é chamado de interface pública do tipo. zTipo Boolean, valores true e false, operações AND, OR e NOT

Conceito de tipo zEm OO, tipo é uma coleção de objetos com a mesma interface pública. zTipo é essencialmente a descrição de interface. zUma classe especifica uma particular implementação de um tipo. zJava separa explicitamente a definição de tipos da sua implementação. zOutras linguagens, C++ e Eiffel, não separam.

tipagem estática X tipagem dinâmica zVerificação de tipos decide se uma determinada operação é válida ou não sobre um objeto, e se ela levará a uma inconsistência de tipos. zLinguagens estaticamente tipadas são aquelas onde o tipo de uma variável que aponta para um objeto é definido em tempo de compilação. zLinguagens dinamicamente tipadas são aquelas onde o tipo de uma variável referente a um objeto é conhecido em tempo de compilação mas pode ser mudado dinamicamente em tempo de execução.

Tipos abstratos de dados zOcultamento da informação é uma prática pela qual o projetista se restringe à interface pública de um tipo para propósitos de inspeção ou modificação. zUm tipo abstrato de dados é um tipo acrescido com a noção de ocultamento da informação.

Tipos Abstratos de Dados EspecificaçãoImplementação Sintaxe (assinatura) Semântica (equaçõs algébricas) Representação (estrutura de dados) Algoritmos

Módulos/Pacotes zUm conjunto de classes relacionadas podem ser agrupadas em módulos, chamados de pacotes. zMódulos definem restrições de acesso de seu conteúdo para clientes fora do módulo. zTudo que pode ser acessado publicamente está declarado na sua interface pública. zO conceito de módulo é muito útil para o ocultamento de detalhes de implementação.

Módulos/Pacotes zMódulos implementam o conceito de tipos abstratos de dados. zEles consistem em duas partes: uma parte de especificação (definição do módulo) e outra de implementação (corpo do módulo) zEm Java, módulos podem ser definidos usando-se a palavra reservada package.

Encapsulamento zEncapsulamento é uma técnica para minimizar as interdependências entre módulos através de interfaces externas restritas. zUm módulo está encapsulado se os clientes fazem acesso ao módulo somente através de sua interface externa. zEncapsulamento garante aos projetistas que mudanças podem ser feitas de modo seguro, facilitando a manutenção e evolução do software

Encapsulamento zA definição de uma classe pode ser vista como espécie de módulo cuja interface externa consiste de um conjunto de operações. zUma classe tem os seguintes tipos de clientes: lClientes por instanciação - são os que criam instâncias da classe e manipulam essas instâncias. lClientes por herança - são as subclasses que herdam os métodos e estrutura da classe. lClientes internos ao módulo - são as classes que estão dentro do mesmo módulo/pacote. lClientes externos ao módulo - são as classes clientes que estão fora do módulo/pacote.

Encapsulamento zVisibilidade de atributos e operações: lPública - clientes de qualquer tipo podem fazer acesso, manipular e invocar diretamente atributos e métodos declarados como public. lPrivada - clientes de qualquer tipo não podem fazer acesso, manipular ou invocar atributos e métodos declarados como private. lVisível pela subclasse - somente os clientes por herança têm acesso a atributos e métodos declarados como protected. lAcesso ao módulo/pacote - um método privado pode ser acessível pelas classes internas ao pacote, enquanto que as classes externas têm acesso apenas aos métodos exportados pelo pacote.