Python: Classes. Claudio Esperança
|
|
|
- Nathalia Santos Henriques
- 9 Há anos
- Visualizações:
Transcrição
1 Python: Classes Claudio Esperança
2 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 de Objeto Um objeto é uma unidade de software que encapsula algoritmos e os dados sobre o qual os algoritmos atuam Os seguintes conceitos são importantes quando falamos de orientação a objetos: Polimorfismo Abstração Herança
3 Polimorfismo É o que permite que dois objetos diferentes possam ser usados de forma semelhante Por exemplo, tanto listas quanto tuplas ou strings podem ser indexadas por um número entre colchetes e suportam o método len Assim, se escrevemos... for i in range(len(x)): print i...não é possível saber de antemão se X é uma tupla, uma lista ou uma string Desta forma, se escrevemos um algoritmo para ser aplicado um objeto X, então também pode ser aplicado a um objeto Y desde que Y seja suficientemente polimórfico a X
4 Abstração (ou encapsulamento) É o que permite que um objeto seja utilizado sabendo se sobre ele apenas a sua interface Em particular, não precisamos conhecer a implementação dos seus métodos Em OO a abstração tem mais alcance pois um objeto encapsula tanto dados como algoritmos Assim, podemos atribuir objetos ou passar objetos como argumentos, sem necessariamente saber como o objeto está implementado
5 Herança É o que permite construir objetos que são especializações de outro objeto Isso permite o reuso de software já que objetos especializados herdam dos objetos genéricos uma série de atributos comuns Por exemplo, considere um objeto que representa uma forma geométrica. Então, ele pode ter características tais como área, perímetro, centróide, etc. Um polígono é uma forma geométrica, Portanto, herda todas as características de formas geometricas Deve suportar também características específicas como número de lados e comprimento de arestas
6 Objetos em Python Python suporta OO através de classes Uma classe pode ser entendida como uma fábrica de objetos, todos com as mesmas características Diz se que objeto fabricado por uma classe é uma instância da classe A rigor, uma classe é também um objeto Encapsula dados e algoritmos Entretanto, não é normalmente um objeto fabricado por uma classe, mas um objeto criado pela construção class Um objeto encapsula dados e algoritmos sob a forma de variáveis e métodos É comum chamar esses elementos constituintes dos objetos de atributos
7 Declaração de uma classe A maneira mais simples é: class nome: var = valor... var = valor def metodo (self,... arg):... def metodo (self,... arg):... As variáveis e os métodos são escritos precedidos pelo nome da classe e por um ponto (.) Assim, uma variavel v definida numa classe c é escrita c.v Os métodos sempre têm self como primeiro argumento self se refere a uma instância da classe Uma nova instância da classe é criada usando nome ()
8 Exemplo >>> class C: a = 2 b = 3 def f(self,x): return C.a*x+C.b >>> C.a 2 >>> C.b 3 >>> obj=c() >>> obj.f(7) 17
9 Atributos de instâncias No exemplo anterior, a e b eram atributos da classe C e portanto usáveis por qualquer instância de C Mais freqüentemente, precisamos de atributos associados a instâncias individuais Um atributo attr associado a uma instância obj tem nome obj.attr Se queremos nos referir a um atributo attr de um objeto dentro de algum de seus métodos, usamos o nome self.attr
10 Exemplo >>> class C: def init(self,a=2,b=3): self.a = a self.b = b def f(self,x): return self.a*x+self.b >>> obj1 = C() >>> obj1.init(2,3) >>> obj2 = C() >>> obj2.init(8,1) >>> obj1.f(7) 17 >>> obj2.f(7) 57
11 Atributos herdados da classe Se uma classe define atributos de classe, as instâncias herdam esses atributos da classe como atributos de instância Ex.: >>> class C: a = 1 def f(self,x): self.a += x >>> c = C() >>> c.f(2) >>> c.a 3 >>> C.a 1
12 Construtores Um método como init do exemplo anterior é bastante útil para inicializar atributos da instância e é conhecido como construtor da classe Na verdade, Python suporta construtores que podem ser chamados automaticamente na criação de instâncias Basta definir na classe um método chamado init Este método é chamado automaticamente durante a criação de um nova instância da classe, sendo que os argumentos são passados entre parênteses após o nome da classe Obs.: o método init é apenas um exemplo de método mágico que é invocado de maneira não padrão (veremos outros adiante)
13 Exemplo >>> class C: def init (self,a=2,b=3): self.a = a self.b = b def f(self,x): return self.a*x+self.b >>> obj1 = C() >>> obj2 = C(8,1) >>> obj1.f(7) 17 >>> obj2.f(7) 57
14 Especialização de classes Para fazer uma classe C herdar de outra B, basta declarar C como: class C(B):... Diz se que C é sub classe (ou derivada) de B ou que B é super classe (ou base) de C C herda todos os atributos de B A especialização de C se dá acrescentando se novos atributos (variáveis e métodos) ou alterando se métodos Se, ao escrever um método de C, precisamos invocar um método m de B, pode se usar a notação B.m para diferenciar de m simplesmente, que se refere a C.m
15 Exemplo >>> class B: n = 2 def f(self,x): return B.n*x >>> class C(B): def f(self,x): return B.f(self,x)**2 def g(self,x): return self.f(x)+1 >>> b = B() >>> c = C() >>> b.f(3) 6 >>> c.f(3) 36 >>> c.g(3) 37 >>> B.n = 5 >>> c.f(3) 225
16 Construtores de classes derivadas O construtor de uma classe D derivada de C precisa chamar o construtor de C Permite inicializar os elementos de C não específicos a D Usa se a notação C. init (self,...)
17 Construtores de classes derivadas Exemplo: >>> class C:... def init (self):... self.x = 1... >>> class D(C):... def init (self):... C. init (self)... self.y = 2... >>> d=d() >>> d.x 1 >>> d.y 2
18 Classes no novo estilo A partir do Python 2.2, classes podem também ser declaradas no chamado novo estilo : Se uma classe não é derivada de nenhuma outra, ela deve ser declarada como derivada da classe especial chamada object. Ex.: class C(object): Há várias diferenças entre o comportamento das classes no novo estilo e as do velho estilo Permite derivar tipos primitivos Descritores para propriedades, métodos estáticos, métodos de classe, etc Essas diferenças são pouco significativas para o iniciante
19 Herança múltipla É possível construir uma classe que herda de duas ou mais outras. Ex.: class C(A,B):... Nesse caso, a classe derivada herda todos os atributos de ambas as classes base Se ambas as classes base possuem um atributo com mesmo nome, aquela citada primeiro prevalece No exemplo acima, se A e B possuem um atributo x, então C.x se refere ao que foi herdado de A
20 Exemplo >>> class C: def init (self,a,b): self.a, self.b = a,b def f(self,x): return self.a*x+self.b >>> class D: def init (self,legenda): self.legenda = legenda def escreve(self,valor): print self.legenda,'=',valor >>> class E(C,D): def init (self,legenda,a,b): C. init (self,a,b) D. init (self,legenda) def escreve(self,x): D.escreve(self,self.f(x)) >>> e = E("f",10,3) >>> e.escreve(4) f = 43
21 Atributos privados Em princípio, todos os atributos de um objeto podem ser acessados tanto dentro de métodos da classe como de fora Quando um determinado atributo deve ser acessado apenas para implementação da classe, ele não deveria ser acessível de fora Em princípio tais atributos não fazem parte da interface pública da classe Atributos assim são ditos privados Em Python, atributos privados têm nomes iniciados por dois caracteres traço embaixo, isto é,
22 Exemplo >>> class C: def init (self,x): self. x = x def incr(self): self. x += 1 def x(self): return self. x >>> a = C(5) >>> a.x() 5 >>> a.incr() >>> a.x() 6 >>> a. x Traceback (most recent call last): File "<pyshell#13>", line 1, in -toplevela. x AttributeError: C instance has no attribute ' x'
23 Métodos mágicos São métodos que são invocados usando operadores sobre o objeto ao invés de por nome Já vimos um método desses: o construtor init Alguns outros são: Adição: add Chamado usando '+' Subtração: sub Chamado usando '-' Representação: repr Chamado quando objeto é impresso Conversão para string: str Chamado quando o objeto é argumento do construtor da classe str Se não especificado, a função repr é usada
24 Exemplo >>> class vetor: def init (self,x,y): self.x, self.y = x,y def add (self,v): return vetor(self.x+v.x, self.y+v.y) def sub (self,v): return vetor(self.x-v.x, self.y-v.y) def repr (self): return "vetor("+str(self.x)+","+str(self.y)+")" >>> a=vetor(1,2) >>> a += vetor(3,5) >>> a-vetor(2,2) vetor(2,5) >>> print a vetor(4,7)
25 Protocolos Diferentemente de outras linguagens, não há necessidade de classes serem relacionadas para haver polimorfismo entre elas, basta que implementem métodos semelhantes Um protocolo é uma especificação de polimorfismo informal Por exemplo, listas, strings e tuplas possuem em comum o fato de poderem iterar sobre uma coleção de elementos Todas implementam o protocolo para seqüências Métodos mágicos para indexar, alterar, etc.
26 Protocolo para seqüências len (self) retorna o comprimento da seqüência Chamada: len(objeto) getitem (self,key) retorna o elemento na posição key da seqüência Chamada: objeto[key] Deve se implementar também chaves negativas! setitem (self,key,value) Chamada: objeto[key]=value Apenas para seqüências mutáveis del (self,key) Chamada por del objeto[key] Apenas para (algumas) seqüências mutáveis
27 Exemplo >>> class ProgressaoAritmetica: def init (self,a1,incr): self.a1,self.incr=a1,incr def getitem (self,key): if not isinstance(key,(int,long)): raise TypeError if key<=0: raise IndexError return self.a1+(key-1)*self.incr def soma(self,n): return (self[1]+self[n])*n/2 >>> pa = ProgressaoAritmetica(1,2) >>> pa[1] 1 >>> pa[10] 19 >>> pa.soma(100) 10000
28 Atributos, Getters e Setters Muitas vezes queremos que determinados atributos possam ser acessados de forma controlada, isto é, vigiados por métodos Os métodos que controlam o acesso a tais atributos são conhecidos como getters e setters, referindo se a métodos de leitura e escrita, respectivamente Os atributos controlados são chamados de propriedades Na verdade, podemos ter propriedades abstratas que não correspondem 1 para 1 com atributos da classe
29 Exemplo >>> class Retangulo: def init (self,tamanho): self.settamanho(tamanho) def settamanho(self,tamanho): if min(tamanho)<0: raise ValueError self. tamx,self. tamy = tamanho def gettamanho(self): return (self. tamx,self. tamy) >>> r = Retangulo((20,30)) >>> r.gettamanho() (20, 30) >>> r.settamanho((-1,0)) Traceback (most recent call last):... ValueError
30 A função property A função property pode ser usada para consubstanciar uma propriedade implementada por métodos de tal maneira que ela pareça um atributo da classe Ela é usada no corpo de uma declaração de classe com a forma: atributo = property(fget, fset, fdel, doc)...onde fget, fset, fdel são métodos para ler, escrever e remover o atributo doc é uma docstring para o atributo
31 Exemplo >>> class Retangulo(object): def init (self,tamanho): self.settamanho(tamanho) def settamanho(self,tamanho): if min(tamanho)<0: raise ValueError self. tamx,self. tamy = tamanho def gettamanho(self): return (self. tamx,self. tamy) tamanho = property(gettamanho,settamanho) >>> r = Retangulo((20,30)) >>> r.tamanho (20, 30) >>> r.tamanho = (30,30) >>> r.tamanho (30, 30)
32 Dicas para uso de OO Agrupe funções e dados que se referem a um mesmo problema Por exemplo, se uma função manipula uma variável global, é melhor que ambas sejam definidas numa classe como atributo e método Não permita promiscuidade entre classes e instâncias de classe Por exemplo, se há necessidade de um objeto manipular um atributo de outro, escreva um método com essa manipulação e chame o método Não escreva métodos extensos Em geral, um método deve ser simples e ser compreendido conceitualmente em alguns segundos
Danilo Borges da Silva [email protected]
Danilo Borges da Silva [email protected] Simples o suficiente para um curso introdutório Muitos recursos Orientação a Objetos Escalável (módulos, classes, controle de exceções) Biblioteca embutida
Python: Listas. Claudio Esperança
Python: Listas Claudio Esperança Estruturas de dados Maneira de organizar dados de maneira a facilitar seu acesso Algumas formas são clássicas: Listas Arrays (vetores e matrizes) Tuplas (registros) Árvores
Python: Exceções, Iteradores e Geradores. Claudio Esperança
Python: Exceções, Iteradores e Geradores Claudio Esperança Exceções Quando um programa encontra dificuldades não previstas, diz se que uma condição excepcional ou uma exceção ocorreu Um erro é uma exceção
Linguagem 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
Computação II (MAB 225)
Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Introdução No curso de Computação I vocês viram os conceitos básicos de programação em Python: expressões e comandos,
Luciano Ramalho setembro/2012. Objetos Pythonicos. Orientação a objetos e padrões de projeto em Python
Luciano Ramalho [email protected] 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
Linguagem 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
Classes 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
Programação procedimental
Prof. André Backes Programação procedimental Também chamada de programação procedural Contêm um conjunto de passos computacionais a serem executados Problemas são decompostos em sub-problemas Modularização
1/ 26. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função
1/ 26 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/ 26 Primeiros Passos - Operadores adição + subtração multiplicação
Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18
Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - 1/ 18 Considere que você precisa fazer uma função que guarde o nome e o telefone de seus amigos. Sua função também deve permitir a consulta
Conceitos 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
Produtividade 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 [email protected] @ramalhoorg Fluent Python (O Reilly) Early Release: out/2014 First Edition:
Computação I - Python Aula 1 - Prática: Primeiros Passos- Função
Computação I - Python Aula 1 - Prática: Primeiros Passos- Função João C. P. da Silva Carla A. D. M. Delgado Ana Luisa Duboc Dept. Ciência da Computação - UFRJ http://www.dcc.ufrj.br/ pythonufrj/ Computação
Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva [email protected] br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação
Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de
Computação II (MAB 225)
Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Sobrecarga de operadores Quase todos os operadores de Python são como == e!=: podemos definir métodos para sobrecarregá-los
Programaçã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
Programaçã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 [email protected] 23 de junho de 2017 Ementa
Java First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração
Java First-Tier: Aplicações Orientação a Objetos em Java (II) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Sobrecarga Um recurso usual em programação OO é o uso de sobrecarga
1/ 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
Linguagem 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
24/09/2014. Prof. André Backes
Prof. André Backes 1 Por que usar listas? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor dentro de uma variável, o valor
Java para Desktop. Programação Orientada à Objetos 2 JSE
Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona
Python Orientação a Objetos. Introdução à Programação SI2
Python Orientação a Objetos Introdução à Programação SI2 Conteúdo Orientação a objetos Objeto Classe Herança Encapsulamento Polimorfismo 2 Motivação Realidade Atual Sistemas de alta complexidade Sistemas
Computaçã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:
Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas
Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas João C. P. da Silva Carla A. D. M. Delgado Ana Luisa Duboc Dept. Ciência da Computação - UFRJ http://www.dcc.ufrj.br/ pythonufrj/
9 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
Introduçã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
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
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
MCG114 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
Programaçã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
Computação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Editor Gráfico Vamos usar nosso framework do Motor, com pequenas mudanças (para permitir interação com
Luciano Ramalho [email protected]. setembro/2012. Objetos Pythonicos. Orientação a objetos e padrões de projeto em Python
Luciano Ramalho [email protected] setembro/2012 Objetos Pythonicos Orientação a objetos e padrões de projeto em Python Aula 4 Recapitulando iteráveis etc. Herança múltipla, MRO e super Propriedades Polimorfismo
Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Python Orientação a Objetos Parte 1. Introdução à Programação SI1
Python Orientação a Objetos Parte 1 Introdução à Programação SI1 Conteúdo Orientação a objetos Objeto Classe Herança Encapsulamento Polimorfismo 2 Motivação Realidade Atual Sistemas de alta complexidade
MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)
MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) g BREVE HISTÓRICO g CARACTERÍSTICAS g CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS g MODELAGEM DE ANÁLISE E DE PROJETO 1 I. BREVE HISTÓRICO Em fins dos anos
Paradigmas 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
Curso de Python em 5 Horas
Curso de Python em 5 Horas Classes e Trabalhando com Arquivo Gustavo Sverzut Barbieri GPSL - UNICAMP 12 de maio de 2005 ustavo Sverzut Barbieri (GPSL - UNICAMP) Curso de Python em 5 Horas 12 de maio de
Desenvolvimento 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
Algoritmos e estrutura de dados
Algoritmos e estrutura de dados Listas Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Listas Listas encadeadas
4 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
Listas e Tuplas. Vanessa Braganholo
Listas e Tuplas Vanessa Braganholo [email protected] Exemplo Motivacional } Programa para auxiliar a escrever Parabéns! nas melhores provas de uma disciplina com 3 alunos } Ler os nomes e as notas de 3
Programaçã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
Orientaçã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 [email protected] Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos
Linguagem 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
Introduçã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
Luciano Ramalho dezembro/2012. Objetos Pythonicos. Orientação a objetos e padrões de projeto em Python
Luciano Ramalho [email protected] dezembro/2012 Objetos Pythonicos Orientação a objetos e padrões de projeto em Python Exemplo prático com funções geradoras Funções geradoras para desacoplar laços de
Algoritmos 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
Programaçã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
Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá
Entrada e saída Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Programaçã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(){
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
5 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... - Diz-se que o nome de um método foi sobrecarregado ( overloaded
Python 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
O 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
Introduçã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
Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento
Orientação a objetos Programação Orientada a Objetos Alexandre César Muniz de Oliveira Linguagens orientadas a procedimentos e linguagens orientadas a objetos Unidade de programação: funções e classes
Preparação para Maratona de Informática PYTHON
Preparação para Maratona de Informática PYTHON Neste material, veremos como abrir arquivos de texto utilizando alguns recursos Python para manipulação de arquivos, listas e formatação de saída. Como referência,
Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias
SCC 12 - Introdução à Programação para Engenharias Tipos de Dados e Variáveis Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes
Computação 1 - Python Aula 4 - Teórica Variáveis e Atribuição, Strings. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 30
Computação 1 - Python Aula 4 - Teórica Variáveis e Atribuição, Strings 1/ 30 Variáveis e Atribuição Dados a hora, minuto e segundo em que um corredor de uma maratona partiu, e dados a hora, minuto e segundos
Programaçã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
Python 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:
Computação I - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings
Computação I - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings João C. P. da Silva Carla A. D. M. Delgado Ana Luisa Duboc Dept. Ciência da Computação - UFRJ http://www.dcc.ufrj.br/ pythonufrj/
Unidade: 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
Programação Orienta a Objetos
Programação Orienta a Objetos Linguagem de Programação 1 Os atores principais do paradigma de projetos orientados a objetos são chamados de objetos. Um objeto se origina de uma classe, que é uma especificação
Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings
Processamento Estatístico da Linguagem Natural Aula 7 Professora Bianca (Sala 302 Bloco E) [email protected] http://www.ic.uff.br/~bianca/peln/ Linguagem Python Introdução Características de Python Rodando
Fundamentos da Programação
Fundamentos da Programação Segundo Teste 18 de Junho de 2014 15:00 16:30 1. (1.0) Diga quais as fases por que passa o desenvolvimento de um programa no modelo estudado e o que se faz em cada uma delas.
Aula 9 Herança. Prof. Jefersson Alex dos Santos
Aula 9 Herança Prof. Jefersson Alex dos Santos Roteiro Introdução Conversão de tipo explícita (Cast) Acesso Protegido A classe Object A classe Class Reflexão Recomendações de Projeto Herança Técnica necessária
Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces
Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces 0 Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Classes Abstratas À medida que você sobe na hierarquia de herança,
Projeto de Linguagem. Linguagens de Programação
Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem
INTRODUÇÃO A CLASSES E ORIENTAÇÃO A OBJETOS EM PYTHON. George Gomes Cabral
INTRODUÇÃO A CLASSES E ORIENTAÇÃO A OBJETOS EM PYTHON George Gomes Cabral O PARADIGMA DA ORIENTAÇÃO A OBJETOS Um paradigma é uma forma de abordar um problema. Em Python, tudo é objeto!! Objetos armazenam
Linguagem de Programação IV Introdução
Linguagem de Programação IV Introdução Prof. Alessandro Borges 2 Tópicos Orientação a objetos Classe Objeto Abstração Encapsulamento Herança Polimorfismo Plataforma Java 3 4 POO é um paradigma de programação
Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo
Linguagem Python Inteligência Artificial Aula 7 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Introdução Características de Python Rodando programas Módulos Tipos básicos Números e variáveis Strings
ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO
ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos picos Definição de estrutura Acessando membros de estruturas O tipo horario com struct Implementando horario com class Escopo
Modelo 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
Computação 1 - Python Aula 6 - Teórica: Listas 1/ 28
Computação 1 - Python Aula 6 - Teórica: Listas 1/ 28 Listas - Fatias Podemos usar a notação de fatias (slices) em listas: [start : end] : vai do índice start até o índice end-1 [start : ] : vai de start
Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes [email protected] 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
