Introdução a Orientação a Objetos
|
|
- Martim Rosa Gomes
- 6 Há anos
- Visualizações:
Transcrição
1 EVOLUÇÃO DAS TÉCNICAS DE PROGRAMAÇÃO: Introdução a Orientação a Objetos A evolução da programação de computadores é marcada por três desenvolvimentos de enorme impacto nos seus parâmetros de produtividade e qualidade: as linguagens de alto nível, na década de 60, as técnicas de programação estruturada [Dijkstra69], na década de 70 e, atualmente, as técnicas de orientação a objetos [Liskov77]. Foram as linguagens de alto nível, como Fortran e COBOL, que, ao permitir o desenvolvimento de programas portáveis entre diferentes computadores, tornaram economicamente viável o desenvolvimento de sistemas de grande porte, de vida útil superior a de várias gerações de computadores. O desenvolvimento de sistemas de grande porte, porém, passou a exigir programas cada vez maiores e mais complexos. O sucesso da programação estruturada se deve justamente por sistematizar o desenvolvimento desses programas, através de uma estratégia de divisão e conquista: cada programa é dividido em vários subprogramas, que são coordenados utilizando-se estruturas de controle de fluxo de execução simples e bem definidas (if-then-else, do-until, while-do, etc. ). PROGRAMAÇÃO BASEADA EM PROCEDIMENTOS: Aplicando as técnicas da programação estruturada a um programa para automação bancária, por exemplo, podemos dividí-lo em quatro módulos (ou subprogramas): manutenção de cadastros movimentação de caixa caixa automático relatórios para contabilidade O programa de manutenção de cadastros, por sua vez, divide-se em outros subprogramas, como cadastro de cliente, abertura de conta, alteração de dados da conta, e assim, sucessivamente, até obtermos subprogramas suficientemente simples e pequenos para serem codificados com facilidade. A figura 3.2 ilustra parte da estrutura desse programa. Esse método de estruturação através de refinamentos sucessivos [Wirth71], se caracteriza por partir de uma visão global centrada em procedimentos para solução de um problema, que é detalhada gradualmente até o nível dos comandos da linguagem de programação utilizada. Note que é criada uma hierarquia de procedimentos, com uma nítida relação de subordinação entre os subprogramas, ou seja, os subprogramas dos níveis inferiores apenas respondendo a requisições oriundas de um subprogrma de nível superior. Outro ponto importante a observar é que os dados da aplicação ficam separados dossubprogramas que os manipulam. Os níveis superiores da estrutura tendem a concentrar a maior parte dos dados, que são manipulados por diversos subprogramas dos níveis inferiores. Página 1 de 7
2 Figura 1 - Estruturação Baseada em Procedimentos ABSTRAÇÃO: Abstrair consiste no processo de retirar do domínio do problema os detalhes relevantes e representá-los não mais na linguagem do domínio, e sim na linguagem da solução. Todas as linguagens de programação fornecem abstrações. A linguagem Assembly é uma pequena abstração da máquina na qual os programas são executados; As linguagens imperativas (FORTRAN, BASIC e C) são abstrações da linguagem Assembly. Nestas linguagens, é necessário pensar em termos da estrutura do computador, ao invés de se pensar em termos da estrutura do problema a ser resolvido! O programador deve estabelecer uma associação entre o modelo da máquina (no espaço da solução) e o modelo do problema que está sendo resolvido (no espaço do problema). O esforço para fazer este mapeamento pode ser gigantesco... A programação orientada a objetos tenta trazer o espaço da solução para o espaço do problema: ambos são representados como objetos!! O programa permite se adaptar ao problema, adicionando novos tipos ao espaço da solução que mapeiam os tipos existentes no espaço do problema è Descreve-se o problema em termos do problema e não em termos da solução!! MAS O QUE SÃO OBJETOS? Um objeto possui então atributos (dados) e comportamentos (métodos, procedimentos, funções, que atuam sobre ele). Exemplos de objetos: cachorros, carros, videocassetes, edifícios, funcionários, indústrias... Um programa é um conjunto de objetos dizendo uns para os outros o que fazer através do envio de mensagens. Concretamente, pode-se pensar nas mensagens como sendo chamadas a funções que pertencem a um objeto em particular. Cada objeto tem a sua própria região de memória, que pode ser composta por outros objetos, também. Exemplo: o objeto carro pode ser composto pelos objetos lataria, rodas, motor, etc. COMPARAÇÃO COM OUTROS ENFOQUES: ANÁLISE ESTRUTURADA E FUNCIONAL: Programa é dividido em um conjunto de funções e dados As funções agem sobre os dados Cada função tem de 10 a 100 linhas Página 2 de 7
3 Decomposição funcional: força o programador a fixar atenção muito mais nos procedimentos que nos dados ENFOQUE ESTRUTURADO versus ENFOQUE ORIENTADO A OBJETOS: Estruturado: Ênfase nos procedimentos, implementados em blocos estruturados, com comunicação entre procedimentos por passagem de dados; Enfoque OO: Dados e procedimentos fazem parte de um só elemento básico (objeto). Os elementos básicos comunicam-se entre si, caracterizando a execução do programa à Dados e procedimentos ENCAPSULADOS em um só elemento. MECANISMOS BÁSICOS DA ORIENTAÇÃO A OBJETOS: OBJETO: Entidade que formaliza o modo pelo qual compreendemos algo no domínio de um problema; Em um objeto estão encapsulados os dados (atributos) e os procedimentos (serviços ou métodos) exclusivos dele. Os procedimentos são aplicáveis aos dados residentes no objeto. Exemplo 1: Objeto funcionário Abravanel dos Santos. Atributos: nome, endereço, data de admissão, identidade, CPF... Procedimentos: Consulta endereço, aumenta salário, paga comissão,... Exemplo 2: Objeto Matriz A Atributos: Linhas, colunas, elementos da matriz. Serviços: inicialização, leitura, multiplicação por um escalar, inversão, multiplicação por um vetor, etc... Um objeto possui estado, comportamento e identidade: Estado: valores de atributos Comportamento: Definido pelos métodos (como o objeto age e reage); Identidade: Aquilo que diferencia um objeto de outro CLASSES: Descrevem um conjunto de objetos semelhantes. Exemplo: Abravanel pertence à classe dos funcionários: Todos funcionários possuem nome, CPF,... Todos têm comportamento definido pelos métodos que compartilham, etc. Qual a diferença entre classes e objetos? Objeto é uma entidade concreta e a classe é uma abstração. Ex: Números inteiros, matrizes, Números complexos, automóveis, árvores, casas, cidades, países, etc... Programação: definir uma classe significa formalizar um tipo de dados e todas as operações associadas a este tipo. Declarar objetos significa criar variáveis do tipo definido. Página 3 de 7
4 Os objetos são também denominados instâncias de uma classe; Exemplo: O meu Uno Mille é uma instância da classe automóvel. Uma classe possui dados que definem suas propriedades (atributos) e os procedimentos (serviços) que devem ser executados sobre estes dados. A eles dá-se o nome de membros de uma classe. Os atributos são os dados ou informações do objeto ou da classe. Existem atributos de objetos e atributos de classe. Exemplos de atributos de objetos: Funcionário: nome, endereço, telefone, CPF,...; Carro: nome, marca, ano, cor,...; Livro: autor, editora, ano,... Atributos de classe: São menos freqüentes que os atributos de objetos. Exemplo: Funcionário: número de funcionários da loja. Serviços: Implantados como funções colocados no nível do objeto ao qual se relacionam. Mensagens: São os pedidos enviados a um objeto, afim de que ele desempenhe algum serviço. A comunicação entre objetos se faz através destas mensagens. Protocolo: é o conjunto de mensagens que um objeto suporta. Define a maneira como um objeto interage com o mundo. Define a interface do objeto. Exemplo: Lâmpada. ENCAPSULAMENTO: A idéia por trás do Encapsulamento é a de que a utilização dos objetos não deve depender de sua implementação interna, e sim de sua interface A abstração define a Interface dos objetos, ou seja, a forma como eles se relacionarão com as demais entidades do sistema. A Implementação definirá como a abstração será representada (o código). Este não deve ser visível às entidades que usarão a classe de objetos, por ser exclusivamente do interesse da própria classe. A interface não apresenta necessariamente todos os métodos de um objeto, mas somente aqueles que podem ser acessados pelo público em geral, os chamados métodos públicos. Existem métodos internos aos objetos: os métodos privados. OCULTAMENTO DA INFORMAÇÃO: Ocultamento de informação (information hiding) é o critério para modularização de programas onde cada módulo (subprograma) é caracterizado pelo conhecimento deuma decisão de projeto, que é escondida de todas as outras partes do programa, esua interface revele o mínimo possível sobre seu funcionamento interno. Página 4 de 7
5 De acordo com o princípio do ocultamento de informação, a utilização de um subprograma (ou módulo) deve exigir que se conheça apenas sua interface externa, num nível de abstração mais elevado. O encapsulamento, por sua vez, impede que as partes internas de um subprograma sejam manipuladas diretamente por outras partes do programa. Para isso é necessário o controle tanto da visibilidade como do nível de proteção, de cada elemento do programa. HERANÇA: Permite modelar uma hierarquia entre classes: classes mais especializadas (classes filhas) herdam propriedades da classe mais geral (classe pai); Pode-se compartilhar automaticamente métodos e dados entre diferentes classes, subclasses e objetos. Criar uma nova classe programando somente as diferenças desta para a classe pai. A classe filha herda a interface da classe pai, podendo substituí-la quando se espera um objeto da classe pai. Identifica-se a possibilidade de herança através da seguinte expressão típica: é um tipo de. Exemplo com classe Animal, Mamífero e Ave: Ave é um tipo de Animal; Mamífero é um tipo de Animal; Ave come, dorme, voa e botaovo; Mamífero come, dorme e mama. Uma Ave (ou um Mamífero) podem substituir Animal pois é um tipo de Animal (tem a mesma interface!). Herança múltipla: quando a classe derivada possui características herdadas de duas ou mais classes base. Exemplo: sistema com interface gráfica associada à manipulação de uma base de dados. Biblioteca gráfica + biblioteca de manipulação de bancos de dados, baseadas em classes: classes do nosso programa construídas herdando as características de interesse das classes de ambas bibliotecas. A herança é uma das responsáveis pela facilidade de reaproveitamento de código da POO. Precisamos fazer uma implementação semelhante a uma anterior: derivamos uma classe, programando as diferenças e reaproveitando o código útil da classe base. Página 5 de 7
6 POLIMORFISMO: O que possui várias formas. Propriedade de se usar o mesmo nome para métodos diferentes, implementados em diferentes níveis de uma hierarquia de classes. Para cada classe, tem-se um comportamento específico para o método. Exemplo: Método draw para hierarquia de objetos gráficos. O polimorfismo é um dos responsáveis pela facilidade de extensão de um programa orientado a objetos: para se efetivar uma extensão de um programa que utiliza polimorfismo, basta derivar novas subclasses de uma classe herdada, programando as modificações na nova classe. MODULARIDADE: Programas grandes e complexos: separação de conjuntos de módulos, cada um contendo classes com independência de funcionamento, podendo ser compilados independentemente. Separação entre interface (.h) e implementação (.cpp ou.cc) Modularizar consiste em decidir onde empacotar fisicamente classes e objetos presentes na estrutura lógica do programa. VISIBILIDADE E PROTEÇÃO DE CÓDIGO E DADOS: Um dos problemas da programação estruturada é a forma como são implementados,naquelas linguagens, os conceitos de visibilidade e proteção do código executável e dos dadosda aplicação, conforme definidos a seguir: Visibilidade (visibility) é a propriedade de um item de dado ou subprograma que determina quais as partes do código do programa em que pode ser referenciado. Proteção (protection) é a capacidade de um programa impedir que os dados1 de um subprograma sejam modificados de forma não prevista no próprio subprograma. Nas linguagens de programação convencionais, como Pascal ou COBOL, essas propriedadessão decorrentes da estrutura hierárquica do programa, não havendo mecanismos quepermitam atribuí-las de maneira seletiva. Por exemplo: uma variável global é visível em todosos subprogramas enquanto que uma variável local é visível apenas no subprograma onde édefinida. Não é dado nenhum tipo de proteção a uma variável global. À medida em que o porte e a complexidade dos sistemas aumentam, a aplicação das técnicas de programação estruturada pode conduzir a estruturas com centenas de subprogramas. Nessas dimensões, problemas não só de desenvolvimento mas, principalmente, de manutenção assumem proporções dramáticas. PERSISTÊNCIA E TIPIFICAÇÃO: Objetos persistentes são aqueles que permanecem existindo mesmo após o término da execução do programa. Associados à persistência estão o gerenciamento dinâmico da memória e o armazenamento de objetos em bases de dados. Página 6 de 7
7 Característica desejável em um modelo OO é a capacidade de distinguir os diferentes tipos de classe. Uso de um objeto de uma classe onde previa-se o uso de objeto de outra só permitido em condições controladas (conversões explícitas). UMA BREVE HISTÓRIA DAS LINGUAGENS ORIENTADAS A OBJETOS: A primeira linguagem de programação a implementar o conceito de classes, com o encapsulamento de dados e funções, foi Simula-67 [Dahl70] que é considerada a precursora das linguagem orientadas a objetos. Smalltalk-72 [Ingalls78], Ada [DoD83], C++ [Stroustrup86] e Eiffel [Meyer88] foram alguns desenvolvimentos importantes baseados nessa linguagem. Smalltalk-72 foi de grande importância para a difusão da programação orientada a objetos por ter sido a primeira, desse tipo, de uso geral e destinada a computadores pessoais. A linguagem Ada resultou de uma iniciativa do Departamento de Defesa Norte americano (DoD) visando a adoção de uma linguagem padrão para desenvolvimento de sistemas. Conserva características também de uma linguagem baseada em procedimentos, sendo uma linguagem de uso geral rica em recursos para desenvolvimento de sistemas em tempo real. A linguagem C++ incorpora recursos de orientação a objetos mantendo a compatibilidade com o padrão ANSI C já existente. Essa dualidade foi necessária em vista da enorme quantidade de programas em C já existentes e que não são orientados a objetos, porém tornou a programação em C++ menos segura do que numa linguagem 100% orientada a objetos. A principal característica da linguagem Eiffel, que a diferencia daquelas citadas anteriormente, é ser aplicável também às fases de análise e projeto de sistemas, oferecendo suporte a metodologia conhecida como "projeto por contrato"3. Ao contrário de Smalltalk, Ada, C++ e outras linguagens com padrões ANSI/ISO definidos, o desenvolvimento da linguagem Eiffel ainda é controlado por um pequeno consórcio, liderado pela empresa de seu criador. Talvez por isso, sua utilização ainda seja relativamente restrita. A linguagem Java, criada em 1995 pela empresa Sun Microsystems, representa uma nova geração de linguagens orientadas a objetos, derivada de C++. Se coloca como uma alternativa mais segura que C++, por manter uma forte semelhança com ela porém inteiramente aderente aos princípios de orientação a objetos. Outra característica importante, responsável por sua rápida popularização, é sua adequação ao desenvolvimento de sistemas distribuídos e sua integração com a Internet, onde é largamente empregada. Assim como ocorreu com a linguagem C, outras linguagens importantes baseadas em procedimentos, como Pascal e COBOL, já possuem suas extensões orientadas a objetos. Uma das motivações iniciais que contribuíram para promover o interesse pelas linguagens orientadas a objetos foi a maior possibilidade de reutilização de software oferecida pelas mesmas, através de bibliotecas de classes e "frameworks" orientados a objetos. A programação de interfaces gráficas (GUI) em ambientes do tipo Windows é um dos exemplos mais comuns de aplicação dessas técnicas. As chamadas linguagens visuais, como VisualBasic. Página 7 de 7
2. Introdução à Programação e Análise. Orientada a Objetos
Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. Introdução
Leia mais2. Introdução à Programação e Análise. Orientada a Objetos. Programação Orientada a Objetos em C O que é a Programação Orientada a Objetos?
Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. O que
Leia mais3. Introdução à Programação OO
3. Introdução à Programação OO Neste capítulo são discutidas as limitações da programação estruturada, quanto aos aspectos de visibilidade e proteção do código executável e dos dados da aplicação, e como
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que
Leia maisIntrodução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto
Introdução Parte 01 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 1. Introdução i. Paradigmas de ii. Motivação da OO iii. Desafio das novas tecnologias iv. Ambientes de Desenvolvimento Modernos v. OO
Leia maisDaniel Wildt
Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória
Leia maisConceitos Básicos. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP
SCC0504 Programação Orientada a Objetos Conceitos Básicos Luiz Eduardo Virgilio da Silva ICMC, USP Material baseado nos slides dos professores: Fernando V. Paulovich (ICMC/USP) Clever G. Farias (FFCLRP/USP)
Leia maisAula 2 POO 1 Introdução. Profa. Elaine Faria UFU
Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Leia maisConceitos de Linguagens de Programação - Características. Paavo Soeiro
Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o
Leia maisProgramação Orientada a Objetos
Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no
Leia maisLinguagem de Programação I Apresentação da Disciplina
Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico
Leia maisModelo do Mundo Real. Abstração. Interpretação
Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que
Leia maisConceitos de Programação Orientada por Objectos. Rui Camacho Programação 2
Conceitos de Programação Orientada por Objectos Um Problema Problema: Existem, hoje em dia, aplicações complexas e de grande dimensão que é preciso desenvolver e manter de modo eficiente utilizando equipas
Leia maisSEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa
Leia maisTelevisao tamanho tela emitirsom. conectarperifericos
1 - Introdução a Programação Orientada a Objeto Para tentar solucionar o problema do baixo reaproveitamento de código, surgiu a idéia da Programação Orientada a Objeto (POO). A POO não é nova, sua formulação
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de
Leia maisOrientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental
Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos
Leia maisOrientação a objetos. Objetos ou Instâncias I
Orientação a objetos Objetos ou Instâncias Métodos ou Mensagens Encapsulamento Classes Variáveis da Classe X Variáveis da Instância Métodos da Classe X Métodos da Instância Relacionamentos Identificando
Leia maisParadigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
Leia maisProf. Me. Sérgio Carlos Portari Júnior
Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade
Leia maisOrientação a Objetos (OO)
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Herança e Polimorfismo Msc. Paulo de Tarso F. Júnior 1 Projeto Orientado a Objetos O que desejam? Produção de projetos conceitualmente simples o bastantes para serem entendidos
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.
PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO O que é programação Linguagens de Programação Paradigmas de Programação História
Leia maisIntrodução a orientação a objetos
2 Introdução a orientação a objetos Introdução 2 Linguagens procedimentais 2 Um pouco de história 2 Idéias básicas da POO 2 Classe, atributo e método 2 Herança 3 Polimorfismo 3 Vantagens e desvantagens
Leia maisOrientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)
Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem
Leia maisIntrodução à Orientação a Objetos
Introdução à Orientação a Objetos Paradigmas de programação Objetos Classes Paradigma não é só uma palavra bonita! Lógico - tudo é assertiva lógica: Prolog, Mercury; Funcional tudo são listas e funções:
Leia maisSEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.
Leia maisProgramação Orientada a Objetos HERANÇA E COMPOSIÇÃO
Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Unidade IV Unidade IV Herança e Composição: Herança simples. Composição.
Leia maisProgramação Orientada a Objetos
PMR2300 Escola Politécnica da Universidade de São Paulo Proposta O mundo real é composto de entidades que interagem entre si para realizar tarefas (objetos). Objetos podem representar entidades concretas
Leia maisIntrodução ao Java. Prof. Herbert Rausch Fernandes
Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores
Leia maisProgramação Orientada a Objetos em Python
Programação Orientada a Objetos em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 23 de junho de 2017 Ementa
Leia maisProgramação por Objectos Introdução. Introdução 1/18
Programação por Objectos Introdução LEEC@IST Introdução 1/18 História (1) [60s] Simula-67, Dahl e Nygaard da Univ. de Oslo Primeira linguagem com conceitos OO. [70s] Smalltalk, da Xerox Primeira implementação
Leia maisO PARADIGMA ORIENTADO POR OBJETOS
O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos
Leia maisCurso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br
Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar
Leia maisFundamentos de Programação
Fundamentos de Programação ET43I Aula 3 Prof. Daniel Cavalcanti Jeronymo Orientada a Objetos Abstração em computação, paradigmas de linguagens de programação. Conceitos de orientação a objetos. Universidade
Leia maisIntrodução à Programação. Conceitos Básicos de Orientação a Objetos
Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes
Leia maisRequisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Herança e Polimorfismo Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos
Leia maisProf: Ricardo Quintão Site:
Prof: Ricardo Quintão email: rgquintao@gmail.com Site: www.rgquintao.com.br Fundamentos da Programação Orientada a Objetos A Orientação a Objetos é uma tecnologia que enxerga os sistemas como sendo coleção
Leia maisConceitos de Orientação a Objetos. Objeto Atributo Classe Método
Conceitos de Orientação a Objetos Objeto Atributo Classe Método Objeto Tudo em Orientação Objeto é OBJETO Objeto, no mundo físico, é tipicamente um produtor e consumidor de itens de informação máquina,
Leia maisOrientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental
Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios
Leia maisLinguagem de Programação I
Linguagem de Programação I Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB bidu@ci.ufpb.br C++ e POO Fundamentação de Orientação a Objetos (OO) Sintaxe básica de C++ Modelagem de sistemas orientada a
Leia maisProgramação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Leia maisReinaldo Gomes Análise/projeto estruturado
Programação Orientada a Objetos Objetos, Classes e Mensagens O Modelo de Objetos Objetos e Classes Mensagens e métodos Reinaldo Gomes reinaldo@cefet-al.br Decomposição Análise/projeto estruturado Soluciona
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO Santa Maria, 08 de Novembro de 2013. Contextualização Nas próximas aula iremos começar a modelar e projetar sistemas
Leia maisParadigmas de Linguagens de Programação. Tipos de Dados Abstratos
Tipos de Dados Abstratos Cristiano Lehrer Conceito de Abstração O conceito de abstração é fundamental em programação. Quase todas as linguagens suportam abstração de processos, através de subprogramas:
Leia maisLinguagens de Programação. Introdução. Carlos Bazilio
Linguagens de Programação Introdução Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp ??? Pascal aux := 0 for i:=1 to 10 do aux := aux + i 10: i = 1 20: if i > 10 goto 60
Leia maisIFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli
Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação
Leia maisParadigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I
Paradigmas Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I OO Simula-67, Smalltalk, C++, Eiffel, Object Pascal,
Leia maisTema da aula Introdução ao paradigma de programação: Orientado a Objetos
Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção
Leia maisIntrodução a Programação Orientada a Objetos
Introdução a Programação Orientada a Objetos Fernando de Simas, Airton de Souza, Sérgio Roberto Centro de Ciências Tecnológicas da Terra e do Mar Universidade do Vale do Itajaí UNIVALI. 88302-202 Itajaí
Leia maisPanorâmica da Programação Orientada a Objetos
Panorâmica da Programação Orientada a Objetos Programação orientada a objetos (POO) é uma das maiores inovações na área de desenvolvimento de software. É importante você entender a POO e limitações das
Leia maisLinguagens e Técnicas de Programação II
Linguagens e Técnicas de Programação II Modelagem Orientada a Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Sistemas de Informação Lembrando Na Unidade I Gerenciando a Complexidade,
Leia maisProgramação I Apresentação
Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação
Leia maisCapítulo 2. Orientação a Objetos
Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos
Leia maisProgramação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior
Programação Orientada a Objetos Prof. MsC Sílvio Bacalá Júnior Princípios básicos de OO Abstração Encapsulamento Modularidade Herança 2013 POO - Bacalá 2 Abstração Concentração nas características essenciais,
Leia maisORIENTAÇÃO A OBJETOS Histórico:
GESTÃO DE TECNOLOGIA DA INFORMAÇÃO Anhanguera Itapecerica da Serra Curso: Gestão da Tecnologia da Informação Disciplina: Modelagem de Sistemas Prof. Luiz Antonio do Nascimento Histórico: A orientação a
Leia maisLinguagens de Programação Aula 12
Linguagens de Programação Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia maisConceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos flavio@facom.ufu.br 80 Por que a Orientação a Objetos? As abstrações podem corresponder às "coisas" do domínio do problema, facilitando o entendimento Esta
Leia maisProgramação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.
Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento
Leia maisConceitos de Orientação a Objetos
Conceitos de Orientação a Objetos I. Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década de 60 - Noruega), que já implementava alguns conceitos da
Leia maisCapítulo 6: Linguagens de Programação
Capítulo 6: Linguagens de Programação Ciência da Computação: Uma Visão Abrangente 11a Edição by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Capítulo 6: Linguagens de programação 6.1 Perspectiva
Leia maisIntrodução à Orientação a Objetos
Introdução à Orientação a Objetos 11/04/2006 Prof. Vítor Souza Análise e Projeto Orientado a Objetos Departamento de Informática Univ. Federal do Espírito Santo Licença para uso e distribuição Este material
Leia maisProf. Fernando V. Paulovich 2 de agosto de SCC Programação Orientada a Objetos
Introdução à Orientação a Objetos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação
Leia maisACH2002. Orientação a Objetos
ACH2002 Orientação a Objetos Professores: Delano Medeiros Beder Fátima L. S. Nunes EACH USP O que é abstração? Abstração s.f. Operação do espírito, que isola de uma noção um elemento, negligenciando os
Leia maisConceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não
Leia maisLinguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
Leia maisA modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:
Módulo 6 Análise Orientada a Objeto É interessante observar como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos, classes, membros, todos e partes. Só não
Leia maisModelagem Orientada a Objeto
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Modelagem Orientada a Objeto Engenharia de Software 2o. Semestre de
Leia maisLinguagem de Programação I
Linguagem de Programação I CARLOS EDUARDO BATISTA CENTRO DE INFORMÁTICA - UFPB BIDU@CI.UFPB.BR erenciando a Complexidade: istemas de Software 2 u Complexidade dos sistemas de software u Estrutura u Decomposição
Leia maisIntrodução à Programação Orientada a Objetos. Programação Estruturada vs Programação Orientada a Objetos
Introdução à Programação Orientada a Objetos O desenvolvimento de software é extremamente amplo. Nesse mercado, existem diversas linguagens de programação, que seguem diferentes paradigmas. Um desses paradigmas
Leia maisUnidade: Introdução à POO (Programação Orientada a Objetos)
Unidade: Introdução à POO (Programação Orientada a Objetos) 0 Unidade: Introdução à POO (Programação Orientada a Objetos) Paradigmas de Programação Um paradigma de programação fornece (e determina) a visão
Leia maisProgramação Orientada a Objetos JAVA - NETBEANS
Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento
Leia maisProgramação de Computadores
Programação de Computadores Objetivo: Como programar em C++, uma linguagem de programação que suporta Programação Orientada a Objetos Maria da Graça Brasil Rocha Programação de Computadores 1 Introdução!
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Slides N. 2 E / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO
Leia maisIntrodução à Programação. Encapsulamento e Herança
Introdução à Programação Encapsulamento e Herança Tópicos da Aula Hoje, aprenderemos conceitos mais avançados de Orientação a Objetos Encapsulamento Usando modificadores de acesso em C++ Herança Importância
Leia maisAnálise e projeto de sistemas
Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os
Leia maisLevantamento, Análise e Gestão Requisitos. Aula 03
Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento
Leia maisApresentação da Disciplina e Revisão dos Conceitos de Orientação a Objetos
Linguagem de Programação 3 Apresentação da Disciplina e Revisão dos Conceitos de Orientação a Objetos Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos apresentar a nossa disciplina e os conceitos
Leia maisProgramação Estruturada Orientada a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com
Leia maisDesenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto
Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de
Leia maisComo Modelar com UML 2
Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para
Leia maisProgramação para Games II. Professor Ariel da Silva Dias Orientação a Objetos
Programação para Games II Professor Ariel da Silva Dias Orientação a Objetos Programação Estruturada X Programação Orientada a Objetos Orientação a Objetos É um paradigma de programação de computadores
Leia maisLinguagens de Programação 10 Avaliação de Linguagens
Linguagens de Programação 10 Avaliação de Linguagens Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Leia maisProgramação Orientada a Objeto
Programação Orientada a Objeto Prof. Esp. Thiago S F Carvalho Faculdades Integradas de Diamantino 2016 Caravalho, T.S.F. (FID) POO 2016 1 / 38 Programação Orientada a Objeto Hoje revisaremos os conceitos
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. JAVA6 e Programação Orientada Pelos Objectos, F. Mário Martins, FCA, Julho de 2009.
JAVA6 e Programação Orientada Pelos Objectos, F. Mário Martins, FCA, Julho de 2009. Thinking in Java, 4 th Edition, Bruce Eckel. 1 1 - Introdução 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens
Leia maisIntrodução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012
Introdução à Orientação a Objetos SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Histórico de OO Vantagens de OO Linguagens OO Conceitos Básicos de OO
Leia maisCapítulo 5. Nomes, Vinculações e Escopos
Capítulo 5 Nomes, Vinculações e Escopos Tópicos do Capítulo 5 Introdução Nomes Variáveis O conceito de vinculação Escopo Escopo e tempo de vida Ambientes de referenciamento Constantes nomeadas Introdução
Leia maisAula 4 Encapsulamento e Relacionamento Cleverton Hentz
Aula 4 Encapsulamento e Relacionamento Cleverton Hentz Sumário } Encapsulamento } Propriedades } Relacionamentos } Composição } Herança 2 O que é encapsulamento? } O que vocês entendem por encapsular?!
Leia maisIntrodução. Lições da década de 80. Realidade atual
Introdução No final da década de 60 surge a disciplina Engenharia de software para atacar os problemas gerados pela Crise do software. Porém as várias técnicas desenvolvidas nos anos 70 e 80 não resolveram
Leia maisHerança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos
e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança
Leia maisUnidade: sobrecarga, construtores e herança
Unidade: sobrecarga, construtores e herança 0 Unidade: sobrecarga, construtores e herança Sobrecarga Sobrecarregar (do inglês overload) um método é criar mais métodos com o mesmo nome, porém com assinaturas
Leia maisLevantamento de Classes
Levantamento de Classes Conceito de Classe e Objeto Principais primitivas ou elementos de composição de softwares orientados a objetos Objeto elemento componente de um sistema computacional entidade que
Leia maisMAPEAMENTO OBJETO RELACIONAL. Professora Lucélia Oliveira
MAPEAMENTO OBJETO RELACIONAL Professora Lucélia Oliveira OS PROBLEMAS A Tecnologia orientada a objetos se consolidou como forma usual para desenvolver sistemas de software. A tecnologia de banco de dados
Leia maisProfª. Juliana Pinheiro Campos ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof.
1 Profª. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com ENG10082 Programação II Créditos: Prof. Gustavo Willam Pereira e Prof. Clayton Vieira Fraga Filho 2 Paradigmas de programação Paradigmas de
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,
Leia mais