Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2005/2006
|
|
- Mario Carvalho Cerveira
- 6 Há anos
- Visualizações:
Transcrição
1 Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Uniersidade de Coimbra Ano Lectio 2005/2006 FICHA 8 CLASSES E OBJECTOS 8. Objectios Objectios que o aluno deerá atingir com a realização desta ficha: - Introdução ao conceito de classe e objecto; - Atributos, métodos, construtores e heranças de uma classe Classes e objectos Embora Python seja uma linguagem orientada a objectos, até aqui o aluno já implementou ários programas sem, no entanto, retirar qualquer proeito dessa característica. Quatro conceitos estão associados à programação orientada a objectos: abstracção; encapsulamento; modularidade; e hierarquia. Tirando proeito destas características, diidem-se problemas de eleada complexidade em ários outros mais pequenos, cuja complexidade indiidual se consegue mais facilmente compreender. Objectos baseiam-se em classes. Uma classe pode ser entendida como um tipo de dados mais eoluído que integra não apenas dados atributos, mas também o tratamento a dar a esses mesmos dados métodos. Instanciando uma classe (instanciação é a materialização de uma classe) dá-se origem a um objecto. Objectos pertencentes à mesma classe, possuem comportamentos idênticos. Em Python, a sintaxe que permite definir uma classe é do género: Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 1 de 11
2 class NomeDaClasse: Descrição da classe <declaração 1> <declaração 2>... <declaração n> A definição é semelhante à de uma função, substituindo-se a sintaxe def por class. Na primeira linha do corpo da classe pode ser introduzida uma descrição da mesma delimitada por aspas ( ). Uma classe é composta por atributos que contêm os dados, e por métodos que contêm as funcionalidades ou tratamentos a aplicar aos dados Métodos Métodos são funções definidas dentro de uma classe. Encapsulam funcionalidades e permitem alterar o estado interno da classe. Uma característica que torna estas funções especiais é que recebem obrigatoriamente um parâmetro que representa a instanciação do objecto sobre o qual se está a trabalhar. Voltaremos a este tema mais à frente Atributos Atributos são características de um objecto (ariáeis ou não ao longo do tempo). Não é necessário declarar os atributos de uma classe. Da mesma forma que as ariáeis surgem apenas quando são acedidas pela primeira ez, também os atributos são alocados no momento em que são referenciados. Os atributos deem apenas ser alterados por métodos, ou seja, apenas o objecto altera o seu estado interno. Obsere o exemplo seguinte, onde se define a classe Rectangulo, com os atributos e métodos que a caracterizam: Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 2 de 11
3 class Rectangulo: "Define características de um rectângulo" Lado=2 Altura=4 def Area(self): return self.lado*self.altura def Perimetro(self): return 2*self.Lado+2*self.Altura A classe é composta pelos atributos Lado e Altura e pelos métodos Area e Perimetro. Estes últimos recebem um parâmetro com o nome self, que é uma referência para o objecto da classe Rectangulo que está a ser executado. Não é obrigatório chamar self a este parâmetro, mas é no entanto o seu nome mais comum, pelo que se torna boa prática de programação utilizá-lo. O método Area acede aos atributos Lado e Altura, retornando o alor do seu produto, ou seja, a área do quadrado. O método Perimetro calcula como o próprio nome indica o perímetro do rectângulo, igualmente atraés dos atributos. Dentro de qualquer membro desta classe, o acesso a Lado ou Altura é feito atraés de self.lado ou self.altura. Para instanciar a classe (criando uma instância com o nome x) procede-se do seguinte modo: x=rectangulo() Acaba neste momento de ser criado um objecto a partir da classe Rectangulo, atribuído à ariáel x. É agora possíel consultar o alor dos atributos, ou utilizar a ariáel como se desejar: print x.lado 2 print x.altura 4 Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 3 de 11
4 O exemplo demonstra um modo de aceder aos atributos do objecto x. O nome do objecto dee ser seguido por um ponto (.) e pelo nome do atributo. De seguida exemplifica-se uma chamada ao método Area da classe: print x.area() 8 O argumento self é automaticamente preenchido, isto é, apesar de se ter definido o método com um parâmetro, ele é chamado sem nenhum. Para calcular o perímetro usa-se: print x.perimetro() 12 Este objecto contém também um membro especial chamado doc, definido automaticamente, e que contem a descrição dada à classe: print x. doc Define características de um rectângulo Em Python todos os membros de uma classe estão acessíeis para leitura e escrita. É portanto, possíel realizar as seguintes operações: x.lado=15 x.altura=10 print x.area() 150 print x.perimetro() 50 Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 4 de 11
5 As duas primeiras instruções alteram o alor dos atributos Lado e Altura. As seguintes reflectem essa alteração. É também possíel guardar referências para métodos. Veja-se o exemplo: noo = x.perimetro x.lado=6 print noo() 32 O atributo Lado foi alterado para 6 e Altura mantee-se em 10. Para estes alores, uma noa chamada, desta ez por referência, ao método Perimetro ale 32. À semelhança do que acontece com as ariáeis, em Python os membros de uma classe são criados de forma automática quando são referenciados pela primeira ez. Um modo de criar um noo atributo no objecto x é, por exemplo: x.cor='branco' Pode-se aceder a esse noo membro a partir deste momento: print x.cor Branco Atribui-se a um membro chamado Cor até aí inexistente, a string Branco. Este membro passou a existir na instância x da classe Rectangulo. Supondo que se cria agora uma noa instância n da classe Rectangulo, é possíel erificar que apesar do objecto n ser da mesma classe que x, não possui o atributo Cor, uma ez que este não existe na definição da classe Rectangulo. Foi apenas criado para o objecto x. Obsere uma ez mais um exemplo: Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 5 de 11
6 n=rectangulo() print n.lado 2 print n.altura 4 print n.cor Traceback (most recent call last): File "<pyshell#69>", line 1, in -topleelprint n.cor AttributeError: Rectangulo instance has no attribute 'Cor' 8.4. Construtor Em muitas aplicações, ao criar um objecto, é desejáel que lhe sejam imediatamente atribuídas determinadas características ou atributos fazer a inicialização do objecto. Em programação orientada a objectos existe o conceito de construtor de uma classe, que, recebendo determinados parâmetros, os passa no momento da instanciação da classe ao objecto que está a ser criado. Em Python, o construtor é um método da classe com o nome init. Da mesma forma que qualquer outro método da classe, recebe no primeiro parâmetro o objecto recém-criado e nos seguintes os alores para os atributos que pretende er inicializados. Veja-se a classe anterior agora definida com um construtor: class Rectangulo: "Define características de um rectângulo e o construtor" def init (self, Lado, Altura): self.lado=lado self.altura=altura def Area(self): return self.lado*self.altura def Perimetro(self): return 2*self.Lado+2*self.Altura Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 6 de 11
7 Assim, a noa forma de criar um objecto poli instanciando a classe Rectangulo será: poli=rectangulo(3,7) print poli.lado 3 print poli.altura 7 print poli.area() 21 Não mais se poderá instanciar a classe sem passar os parâmetros que o construtor exige. Daí surgir uma mensagem de erro ao introduzir o código: poli=rectangulo() Traceback (most recent call last): File "<pyshell#75>", line 1, in -topleelpoli=rectangulo() TypeError: init () takes exactly 3 arguments (1 gien) Como não se definiu o construtor para receber apenas o argumento self, não é álido criar um Rectangulo que não receba os alores iniciais dos seus atributos Lado e Altura Herança O conceito de hierarquia é normalmente suportado atraés da herança. Com efeito, uma classe pode herdar propriedades de qualquer outra classe. A sintaxe para o efeito é: Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 7 de 11
8 class NomeDaClasse(NomeDaClasseBase): Descrição da classe <declaração 1> <declaração 2>... <declaração n> A classe deriada é definida da mesma forma que a classe base. Quando o objecto é criado, a classe base é recordada (juntamente com os seus métodos e atributos). Se um determinado membro não for encontrado na classe, é procurado na classe base. Esta regra aplica-se recursiamente se a classe base for também ela deriada a partir de outra classe. Uma forma de exemplificar esta propriedade recorre à classe base Poligono descrita a seguir: class Poligono: "Classe base para todos os polígonos" def init (self, Lado, Altura): self.lado=lado self.altura=altura Deriando a classe Rectangulo a partir da classe base Poligono, obtém-se uma implementação funcionalmente idêntica à descrita anteriormente: class Rectangulo(Poligono): def Area(self): return self.lado*self.altura def perimetro(self): return 2*self.Lado+2*self.Altura r=rectangulo(4,5) print r.area() 20 Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 8 de 11
9 Podem agora definir-se mais classes deriadas de Poligono, como por exemplo a classe Quadrado, que também herda a obrigatoriedade de ser construída com os parâmetros Lado e Altura: class Quadrado(Poligono): def Area(self): if(self.lado==self.altura): return self.lado*self.lado else: return 'Não é um quadrado!!' q=quadrado(4,3) print q.lado 4 print q.area() Não é um quadrado!! 8.6. Herança múltipla Uma classe pode também herdar a partir de árias outras classes. Neste caso haerá múltiplas classes base e a definição é feita da forma: class NomeDaClasse(NomeClasseBase1, NomeClasseBase2,NomeClasseBase3,..): Descrição da classe <declaração 1> <declaração 2>... <declaração n> Também aqui, se durante a criação de um objecto um determinado membro não for encontrado na classe, é imediatamente procurado na classe base 1 (NomeClasseBase1), descendo a pesquisa de forma recursia para as classes base de NomeClasseBase1 (se as houer), e no caso de não ser aí encontrada, a Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 9 de 11
10 procura recomeça na classe base 2 (NomeClasseBase2) e assim sucessiamente. A pesquisa é feita em profundidade, da esquerda para a direita Exercícios sugeridos 1. Crie a classe Complexo que define o comportamento de números complexos. Preencha-a com os atributos que lhe parecerem indicados. Deerá suportar métodos capazes de realizar as seguintes operações: Trocar parte real com parte imaginária Cálculo do alor absoluto Cálculo do simétrico Cálculo do dobro Cálculo do quadrado 2. Implemente a classe Triangulo deriada a partir da classe base Poligono definida na ficha. Deerá possuir três métodos: um que calcula a área do triângulo (equilátero); outro para cálculo do perímetro; e finalmente um terceiro que deerá deoler informação sobre o alor actual dos seus atributos, sempre que for requisitado. 3. Implemente a classe Temperatura que permite armazenar um alor de temperatura em graus Celsius introduzido pelo utilizador. Use os atributos e métodos que entender necessários para a resolução do problema. Implemente o construtor. A classe deerá possuir métodos que permitam ao utilizador isualizar a temperatura na escala pretendida (Celsius, Fahrenheit ou Kelin). Adicionalmente, deerá ainda suportar a funcionalidade de Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 10 de 11
11 alterar o alor do atributo, se o utilizador desejar que ele fique armazenado numa outra escala. As fórmulas de conersão entre temperaturas são: C = ( F - 32 ) 5 / 9 F = C 1, K = C C = K Defina a classe ContaBancaria. Implemente o construtor de modo a que a quantia, nome do titular e número da conta bancária sejam atribuídos no processo de criação do objecto. Deerá suportar árias funcionalidades. Para tal, implemente os seguintes métodos: InsereDinheiro() ExtraiDinheiro() ImprimeExtracto() CalculaJuros() problema. Use os atributos e métodos que entender necessários para a resolução do Computadores e Programação Engª Biomédica 2005/06 Ficha 8 Página 11 de 11
COMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
Leia maisProgramação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos
Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis
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 maisCONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON
Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2005/2006 FICHA 2 CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON 2.1.
Leia maisImplementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
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 mais1/ 23. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função
1/ 23 Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função Python - Modo Interativo Experiência com programação e uso do computador 2/ 23 Primeiros Passos - Operadores adição + subtração multiplicação
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
Leia maisProgramação Estruturada e Orientada a Objetos. Objetos e Métodos
Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;
Leia maisAlgoritmia. "Conta-me e eu esqueço-me Mostra-me e eu lembro-me Deixa-me fazer e eu aprendo" Confúcio
Algoritmia "Conta-me e eu esqueço-me Mostra-me e eu lembro-me Deixa-me azer e eu aprendo" Conúcio ISPGaya 2005/2006 Inormática de Gestão 2.º ano Programação 1 Algoritmo Um algoritmo é uma sequência inita
Leia maisPython. Resumo e Exercícios P3
Python Resumo e Exercícios P3 Resuminho Teórico Classes e Objetos Tudo em python é um objeto, objetos são instâncias de classes, como int, float, list, etc. a = 5 # a é um objeto da classe int b = 2.0
Leia maisAlgoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):
Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de
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 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 maisUNIFEI Disciplina Professor
UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI CCO02 Enganharia de Software II Enzo Seraphim Nota de aula de Java Encapsulamento
Leia maisDados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.
2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam
Leia maisVetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli
Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,
Leia maisProgramação orientada a objetos
Programação orientada a objetos Python fornece suporte para programação orientada a objetos: foco na criação de objetos, contendo simultaneamente dados e funcionalidade definição de objetos corresponde
Leia maisHerança Tiago Eugenio de Melo
Herança Tiago Eugenio de Melo tiago@comunidadesol.org Herança Conceito: Herança é a capacidade de especializar tipos de objetos (classes), de forma que os tipos especializados contenham, além de características
Leia maisAgenda. O que é um array. Declaração de um array. Instanciação de um array. Acessando os elementos de um array. O tamanho de um array (length)
Arrays em Java 1 Agenda O que é um array Declaração de um array Instanciação de um array Acessando os elementos de um array O tamanho de um array (length) Arrays multi-dimensionais 2 O que é um Array?
Leia maisA função get_class() retorna uma string contendo o nome da classe do objeto passado como parâmetro:
1. Recursos de Reflexão no PHP Podemos definir reflexão como a capacidade de obter informações de classes e objetos em tempo de execução. Por exemplo, você pode obter a lista dos nomes dos atributos de
Leia maisConstrutores e Especificadores de Acesso
Construtores e Especificadores de Acesso Professora: Fátima L. S. Nunes 1 1 1 Orientação a Objetos Conceitos do Paradigma de Orientação a Objetos já vistos: Classes atributos e métodos Objetos instanciação
Leia maisComputação II (MAB 225)
Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato em nosso
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 maisProgramação Orientada aos Objectos I
Programação Orientada aos Objectos I UEM Fevereiro 2014 Docente: eng a Tatiana Kovalenko AULA TEÓRICA 1 Tema 1. Introdução à POO Ø Revisão: POO. Classes e Objectos. Elaborado por eng.tatiana Kovalenko,
Leia maisComputação 1 - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings 1/ 26
Computação 1 - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings 1/ 26 Variáveis e Atribuição Variáveis são usadas para guardar dados intermedidários nas funções. 2/ 26 Variáveis e Atribuição Variável:
Leia maisClasses e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
Leia maisESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2006/2007
ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA INTRODUÇÃO À PROGRAMAÇÃO (ENG. INFORMÁTICA) COMPUTADORES E PROGRAMAÇÃO I (ENG. ELECTROTÉCNICA) 2006/2007 TRABALHO PRÁTICO Nº
Leia maisProgramação Orientada a Objetos em Java
Programação Orientada a Objetos em Java Conceitos: Classe, Variável de Instância ou Atributos, Métodos, Objeto, Variáveis Estáticas ou de Classe, Construtores, Construtores Sobrecarregados, Herança, Polimorfismo,
Leia maisLinguagem de Programação Orientada a Objeto Construtores e Sobrecarga
Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo
Leia maisAprendendo. Java 2. Rodrigo Mello Ramon Chiara Renato Villela. Novatec Editora Ltda.
Aprendendo Java 2 Rodrigo Mello Ramon Chiara Renato Villela Novatec Editora Ltda. www.novateceditora.com.br 1 Programação Orientada a Objetos O que é Programação Orientada a Objetos? É um paradigma de
Leia maisConceitos Básicos da Programação OO
Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Objetivos Aprender os
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 mais9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisParte II. Orientação a objetos no PHP. Contato: Site: Programação para WEB II
Parte II Orientação a objetos no PHP Contato: Site: http://professores.chapeco.ifsc.edu.br/lara/ 1 Encapsulamento 2 Encapsulamento É um dos recursos mais interessantes que a programação orientada a
Leia maisSobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga
Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes
Leia mais4 Conceito de Herança
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisComputação 1 - Python Aula 2 - Teórica. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 39
Computação 1 - Python Aula 2 - Teórica Função 1/ 39 Calcule a área da coroa circular (anel) formada por dois círculos de raios r1 e r2 (r1 > r2 e Pi = 3.14). 2/ 39 Calcule a área da coroa circular (anel)
Leia maisAlgoritmos e estrutura de dados
Algoritmos e estrutura de dados Introdução Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo A linguagem Python
Leia maisProgramação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN
Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação
Leia maisNesta aula... Diagramas da stack. Recursão. 1 Funções. 2 Valores booleanos e condicionais. 3 Execução condicional e recursão
Nesta aula... 1 2 Diagramas da stack 3 Recursão Instruções compostas keyword expression: statement statement... Âmbito de variáveis âmbito local: quando precisa do valor de uma variável, Python procura
Leia maisPython: Classes. Claudio Esperança
Python: Classes Claudio Esperança Orientação a Objetos É uma disciplina de programação assim como a Programação Estruturada Tenta unificar as idéias de algoritmos e estruturas de dados através do conceito
Leia maisLuciano Ramalho setembro/2012. Objetos Pythonicos. Orientação a objetos e padrões de projeto em Python
Luciano Ramalho luciano@ramalho.org setembro/2012 Objetos Pythonicos Orientação a objetos e padrões de projeto em Python Aula 3 Variáveis e referências + Iteráveis, iteradores e geradores Objetivos desta
Leia maisIntrodução aos Algoritmos
Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado
Leia maisComputação 1 - Python 1/ 41
Computação 1 - Python Aula 2 - Teórica: Função 1/ 41 Função Exercício: Calcule a área da coroa circular (anel) formada por dois círculos de raios r1 e r2 (r1 > r2 e Pi = 3.14). 2/ 41 Função Exercício:
Leia maisPython Orientação a Objetos. Introdução à Programação SI2
Python Orientação a Objetos Introdução à Programação SI2 Herança Pessoa Aluno Professor Herança Animal Mamifero Ave Cachorro Gato Gavião Galinha Herança Uma classe pode herdar a definição de outra classe:
Leia maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia maisTCC 00308: Programação de Computadores I Organização de programas em Python
TCC 00308: Programação de Computadores I 2017.1 Organização de programas em Python Vamos programar em Python! Como um programa é organizado? Quais são os tipos de dados disponíveis? Como variáveis podem
Leia maisMCG114 Programação de Computadores I. Strings. Strings. Strings. Strings. Strings 3/26/18. Profa. Janaína Gomide
MCG114 Programação de Computadores I Profa. 1 2 armazenam cadeias de caracteres como nomes e textos Conjunto de caracteres delimitados por aspas simples ou duplas. >>> S1 = exemplo de String >>> S2 = exemplo
Leia maisClasses o Objetos. Classes, objetos, métodos e variáveis de instância
Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse
Leia maisUNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos
UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos Objetivo da Unidade*: Conhecer e aplicar os conceitos mais importantes associados a orientação a objetos. 5.1 Métodos e atributos estáticos Atributos
Leia maisDURAÇÃO DA PROVA: 2 horas
MAC2166 Introdução à Computação Grande Áreas Civil, Mecânica, Petróleo e Química Escola Politécnica Terceira Prova 21 de junho de 2016 Nome: Assinatura: N o USP: Turma: Professor: Instruções: 1. Não destaque
Leia maisParadigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Leia mais1 Definição de funções 1. 2 Valores boleanos e condicionais 5. Podemos depois usar as novas funções tal qual as pré-definidas
Nesta aula... Conteúdo 1 Definição de funções 1 2 Valores boleanos e condicionais 5 1 Definição de funções Definição de novas funções Na aula passada: vimos como usar os operadores e funções pré-definidas
Leia maisExercícios para Fundamentos da Programação
Exercícios para Fundamentos da Programação Fausto Almeida, Cláudia Antunes, Ana Cardoso-Cachopo, Pedro Amaro de Matos, Francisco Saraiva de Melo Departamento de Engenharia Informática Instituto Superior
Leia maisProgramação Avançada C++ Slide 12 Nielsen Castelo Damasceno
Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Visibilidade de membros Membro da classe derivada pode usar os membros públicos ( public ) e protegidos ( protected ) da sua classe base (como
Leia maisFigura 3.1 Modelo da programação estruturada
3 - Conceitos de Orientação aos Objectos Hoje em dia, praticamente todo o software está a ser escrito numa ou noutra linguagem orientada aos objectos. As linguagens estruturadas como o C e o Pascal tiveram
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 maisTécnicas de Programação:
Técnicas de Programação: Programação Orientada a Objeto PROF. PROTÁSIO DEE-UFPB Classes e Objetos Classe É uma estrutura de dados que pode conter: Objeto Dados, e Funções. É uma instância de uma classe.
Leia maisAULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa
AULA 2: INTRODUÇÃO A PYTHON Luís Feliphe Silva Costa Sumário Variáveis simples Entrada e Saída de dados Operadores Estruturas Condicionais Estruturas de repetição Funções Tratamento de erros Variáveis
Leia mais1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores
Nesta aula... Conteúdo 1 Expressões, valores e tipos 1 2 Variáveis e atribuições 5 1 Expressões, valores e tipos Expressões e valores Tipos programas calculam expressões para produzir valores cálculo de
Leia maisProdutividade e qualidade em Python através da metaprogramação
Produtividade e qualidade em Python através da metaprogramação ou a visão radical na prática Luciano Ramalho ramalho@python.pro.br @ramalhoorg Fluent Python (O Reilly) Early Release: out/2014 First Edition:
Leia maisIntrodução à Ciência da Computação Disciplina:
Introdução à Ciência da Computação Disciplina: 113913 Prof. Edison Ishikawa Universidade de Brasília UnB Instituto de Ciências Exatas IE Departamento de Ciência da Computação CIC STRINGS Lista de strings
Leia maisCurso de PHP. - Início 22 de agosto - Término 20 de outubro. -Aulas: segunda e quinta-feira -Horário:18h às 20h. -Carga horária do curso: 40h
Curso de PHP Palestrante: Marco Aurélio Jefson Farias - Início 22 de agosto - Término 20 de outubro. Curso de PHP -Aulas: segunda e quinta-feira -Horário:18h às 20h. -Carga horária do curso: 40h - Frequência
Leia maisIntrodução à Programação em C
Introdução à Programação em C Tipos e Operadores Elementares Estruturas de Controlo Resumo Novidades em C Exemplo: Factorial Tipos de Dados Básicos Saltos Condicionais: if-then-else Valor de retorno de
Leia maisProgramação Orientada a Objetos
1 Programação Orientada a Objetos A linguagem C, desde a sua primeira especificação, vem sendo desenvolvida com várias extensões. De uma dessas extensões foi criada a Linguagem C++ onde encontramos diversas
Leia maisUniversidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática
1 - Introdução 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 permitam lidar
Leia maisNome: Número: Primeira Parte (3 valores) Segunda Parte (7 valores) PERGUNTA 1.1 PERGUNTA RESPOSTA NOTA
Programação comprogramação Objectos com Objectos 201623111830 23 de Novembro de 2016, 18:30 (90 minutos) Nome: Número: Primeira Parte (3 valores) PERGUNTA RESPOSTA Segunda Parte (7 valores) PERGUNTA 1.1
Leia maisPython para quem sabe Python
Python para quem sabe Python Turma 0, aula 4 Metaclasses, programação funcional e programação assíncrona Exercício: execucao.py Para entender como o interpretador Python lê um arquivo.py Tudo é executável
Leia maisLinguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
Leia mais3.4. Programação Orientada a Objetos
Paradigmas de Linguagens I 1 3.4. Programação Orientada a Objetos Os conceitos de objetos e classes, vistos nas seções anteriores, são fundamentais na programação orientada a objetos. Complementando a
Leia maisAULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos
Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema
Leia maisLinguagens de Programação
Linguagens de Programação Fabio Mascarenhas - 2015.2 http://www.dcc.ufrj.br/~fabiom/lp Objetos sem classes Um objeto tem duas visões: a de fora e a de dentro Visto de fora, um objeto é uma entidade opaca,
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Faculdade de Computação Aula Revisão Marcelo Zanchetta do Nascimento Material elaborado pela Profa. Ana Carolina Lorena - UNIFESP Desenvolvimento de Software ANÁLISE IMPLEMENTAÇÃO
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 maisDIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS
DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS LISTA DE EXERCÍCIOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS 1. Crie um modelo (classe)
Leia maisTécnico em Informática. Web JavaScript. Profª Ana Paula Mandelli
Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela
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 maisClasses e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010
Classes e 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 (ICMC) Universidade
Leia maisIntrodução à Programação Aula 17 Deteção e correção de erros
Introdução à Programação Aula 17 Deteção e correção de erros Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 17 Deteção e correção de erros 2015 1 / 31 Nesta
Leia maisProgramação Java (nível intermediário) 4. Polimorfismo
Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo
Leia maisComputação II (MAB 225)
Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Tratamento de Erros Até agora não nos preocupamos com erros em nosso programa, apenas assumimos que tudo sempre
Leia maisInterfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Sobrecarga de Métodos e Palavras Reservadas: this, static e final Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Sobrecarga de Métodos Métodos sobrecarregados devem
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisEntender o princípio do Polimorfismo; Conhecer Polimorfismo de Sobreposição e de Inclusão;
POLIMORFISMO POLIMORFISMO É o último princípio que serve de base para a Programação Orientada a Objeto. Esse princípio também aposta na ideia da reutilização para facilitar o dia a dia da programação.
Leia maisCLASSES, OBJETOS, MÉTODOS E STRING
1 CLASSES, OBJETOS, MÉTODOS E STRING Construir software rapidamente, corretamente e economicamente é um objetivo difícil de alcançar. Objetos, ou, mais precisamente as classes de objetos, são, essencialmente,
Leia maisEstrutura de Dados Funções e Procedimentos
Estrutura de Dados Funções e Procedimentos Prof. Salustiano Rodrigues de Oliveira saluorodrigues@gmail.com www.profsalu.wordpress.com Java A linguagem Java utiliza o paradigma de programação orientada
Leia maisPolimorfismo: aprendendo a prever o futuro. Polimorfismo: aprendendo a prever o futuro. Definições (2/5) Definições Tipos de Polimorfismo
Polimorfismo: aprendendo a prever o futuro BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Sumário Definições Tipos de Polimorfismo Dicas para o Polimorfismo Eficaz Armadilhas
Leia maisDisciplina de Algoritmos e Programação
Disciplina de Algoritmos e Programação Aula Passada 1º Programa: olamundo.c #include // biblioteca padrão de E/S /* Programa Olá Mundo */ int main(void) { printf( Olá mundo\n ); //exibe Olá mundo
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 maisProgramação Java. - Classes, Objetos, Atributos e Métodos - Marco Fagundes Marco Fagundes -
Programação Java - Classes, Objetos, Atributos e Métodos - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Programação Orientada a Objetos Classes e Objetos Definindo e Instanciando Classes Atributos
Leia maisEstruturas de Decisão. APROG (Civil) Aula 6
Estruturas de Decisão APROG () Aula 6 Conteúdo Estrutura If...Then Estrutura If...Then...Else 2 Conceito As Estruturas de Controlo servem para modificar o fluxo das instruções seguidas por um determinado
Leia maisExame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE
Recibo do Exame de 1ª Época de Introdução à Programação (IGE e ETI), 2003/02/25 1º semestre de 2002/2003, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Exame de 1ª Época
Leia maisIntrodução à orientação a objetos. João Tito Almeida Vianna 18/05/2013
Introdução à orientação a objetos João Tito Almeida Vianna 18/05/2013 Roteiro Aula 1 Introdução: Programação estruturada x Orientação a objetos Orientação a objetos Classe e objeto Encapsulamento Herança
Leia maisLinguagem de programação Programação Orientada a objetos
Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Programação Orientada a objetos Professor: Saulo Henrique Cabral Silva Paradigma da orientação a objetos Paradigma = forma de
Leia mais