Introdução à Programação Aula 20 Definição de classes

Tamanho: px
Começar a partir da página:

Download "Introdução à Programação Aula 20 Definição de classes"

Transcrição

1 Introdução à Programação Aula 20 Definição de classes Pedro Vasconcelos DCC/FCUP 2014 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

2 Nesta aula 1 Definição de classes 2 Exemplo: contas bancárias Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

3 Programação com objetos Na aula passada: conceitos básicos de programação com objetos. Noção de objeto: identidade, estado e comportamento Noção de método, construtor e classe Exemplos de programação com objetos do módulo turtle Nesta aula: definição de novas classes. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

4 Nesta aula 1 Definição de classes 2 Exemplo: contas bancárias Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

5 Classes Objetos dum mesmo tipo pertem à mesma classe: todos os objetos duma classe têm os mesmos métodos; cada objeto duma classe tem o seu estado e identidade privados. Exemplo: módulo turtle. os objetos tartaruga pertencem à classe Turtle; todos suportam os mesmo comandos; os valores de posição, orientação, etc. são específicos de cada objeto. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

6 Definição de classes class nome:. definições de métodos. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

7 Nesta aula 1 Definição de classes 2 Exemplo: contas bancárias Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

8 Contas bancárias Vamos definir uma classe para contas bancária: estado titular e valor depositado; métodos depositar, levantar e transferir valores. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

9 Contas bancárias (cont.) Implementação inicial (sem funcionalidade). class Conta: "Classe para representar uma conta bancária." pass Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

10 Atributos Podemos definir estado associado ao objeto usando atributos. >>> conta = Conta() >>> conta.nome = "Pedro" >>> conta.balanço = 1000 O objeto tem agora dois atributos: uma cadeia e um inteiro. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

11 Atributos (cont.) Podemos aceder aos atributos de um objeto com a notação objeto.atributo: modificar o seu valor; usar em expressões. >>> conta.nome Pedro >>> conta.balanço += 200 >>> conta.balanço 1200 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

12 Métodos class Conta: "Classe para representar uma conta bancária." def depositar(self, valor): self.balanço += valor def levantar(self, valor): self.balanço -= valor O primeiro argumento (self) é o objeto sobre o qual opera O segundo argumento (valor) é o valor a depositar ou levantar Ambos os métodos modificam o balanço da conta Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

13 Exemplo de uso >>> conta = Conta() >>> conta.balanço = 1000 >>> conta.depositar(200) >>> conta.balanço 1200 >>> conta.levantar(50) >>> conta.balanço 1150 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

14 Inicialização Os métodos falham se o atributo balanço não existir: >>> conta = Conta() >>> conta.depositar(200) AttributeError: Conta object has no attribute balanço Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

15 Inicialização (cont.) Podemos garantir que o atributo existe sempre definindo um método inicializador. class Conta:... def init (self): self.balanço = 0... # balanço inicial >>> conta = Conta() >>> conta.depositar(200) >>> conta.balanço 200 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

16 Inicialização (cont.) Podemos usar o inicializador para definir outros atributos. class Conta:... def init (self, nome): self.balanço = 0 # balanço inicial self.nome = nome # titular da conta... >>> conta = Conta("Pedro") >>> conta.depositar(200) >>> conta.nome Pedro >>> conta.balanço 200 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

17 Conversão para texto Por omissão não é muito informativa: >>> conta = Conta("Pedro") >>> print(conta) < main.conta object at 0x7fd15f7ffb10> >>> str(conta) < main.conta object at 0x7fd15f7ffb10> Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

18 Conversão para texto (cont.) Podemos definir o método str para converter o objeto para texto; deve retornar uma cadeia. class Conta:... def str (self): return "%s : %d EUR" % (self.nome,self.balanço) >>> conta = Conta("Pedro") >>> conta.depositar(200) >>> print(conta) Pedro : 200 EUR >>> str(conta) Pedro : 200 EUR Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

19 Transferências Podemos tranferir valores de uma conta para outra. >>> c1 = Conta("Pedro") >>> c1.depositar(1000) >>> c2 = Conta("Beatriz") >>> c1.levantar(300) >>> c2.depositar(300) >>> print(c1) Pedro : 700 EUR >>> print(c2) Beatriz : 300 EUR Vamos definir um método para automatizar este processo. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

20 Transferências (cont.) class Conta:... def transferir(self, valor, dest): # transferir da conta self para dest self.levantar(valor) dest.depositar(valor) >>> c1 = Conta("Pedro") >>> c1.depositar(1000) >>> c2 = Conta("Beatriz") >>> c1.transferir(300, c2) >>> print(c1) Pedro : 700 EUR >>> print(c2) Beatriz : 300 EUR Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

21 Encapsulamento Optamos por usar métodos levantar() e depositar() para fazer a transferência Podiamos ter modificado os atributos diretamente: def transferir(self, valor, dest): self.balanço -= valor dest.balanço += valor A primeira opção garante encapsulamento: o estado interno de cada objeto só é acedido pelos seus métodos Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

22 Encapsulamento (cont.) Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

23 Encapsulamento (cont.) Em Python não podemos proibir o acesso aos atributos de objetos Contudo: é boa prática limitar o acesso aos atributos aos métodos do objeto Podemos definir métodos só para consultar o valor de atributos. class Conta:... def saldo(self): # retornar o balanço atual return self.balanço Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 20 Definição de classes / 23

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

Python Intermediário. terça-feira, 4 de agosto de 15

Python Intermediário. terça-feira, 4 de agosto de 15 Python Intermediário I FUNÇÕES Módulo Python (Intermediário) Função Uma função é uma sequência de comandos que desempenham algum tipo de tarefa no seu programa Evita duplicação de código Facilita alterações:

Leia mais

MAB224 Programação de Computadores II. Prof. Franklin Marquezino Universidade Federal do Rio de Janeiro

MAB224 Programação de Computadores II. Prof. Franklin Marquezino Universidade Federal do Rio de Janeiro MAB224 Programação de Computadores II Prof. Franklin Marquezino Universidade Federal do Rio de Janeiro Parte IV Conceitos de Orientação a Objetos em Python Atenção: Slides em constante atualização. Consultem

Leia mais

Luciano Ramalho luciano@ramalho.org. 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 Luciano Ramalho luciano@ramalho.org setembro/2012 Objetos Pythonicos Orientação a objetos e padrões de projeto em Python Aula 2 Introdução à Orientação Objetos em Python (continuação) Objetivos desta aula

Leia mais

Introdução à Programação Aula 19 Programação com objetos

Introdução à Programação Aula 19 Programação com objetos Introdução à Programação Aula 19 Programação com objetos Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 19 Programação com objetos 2015 1 / 20 Nesta aula 1 Programação

Leia mais

Introdução à Programação Aula 15 Definições recursivas

Introdução à Programação Aula 15 Definições recursivas Introdução à Programação Aula 15 Definições recursivas Pedro Vasconcelos DCC/FCUP 2014 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 15 Definições recursivas 2014 1 / 27 Nesta aula 1 Definições

Leia mais

Introdução à Programação Aula 11 Mais sobre ciclos e iteração

Introdução à Programação Aula 11 Mais sobre ciclos e iteração Introdução à Programação Aula 11 Mais sobre ciclos e iteração Pedro Vasconcelos DCC/FCUP 2014 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 11 Mais sobre ciclos e iteração 2014 1 / 26 Nesta

Leia mais

Objetivos do mini curso. Conhecer a linguagem. Noção de programação utilizando Python. Aprender o báscio.

Objetivos do mini curso. Conhecer a linguagem. Noção de programação utilizando Python. Aprender o báscio. Objetivos do mini curso Conhecer a linguagem. Noção de programação utilizando Python. Aprender o báscio. Conteúdo Uma visão da linguagem: O modo python de programar O interpretador dinâmico Salvando e

Leia mais

Python Orientação a Objetos Parte 1. Introdução à Programação SI1

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

Leia mais

Prof. Jhonatan Fernando

Prof. Jhonatan Fernando Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis

Leia mais

Luciano Ramalho luciano@ramalho.org. 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 Luciano Ramalho luciano@ramalho.org 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

Leia mais

Python Orientação a Objetos Parte 1. Introdução à Programação SI1

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

Leia mais

Conceito de classe em C++

Conceito de classe em C++ Introdução à Programação com Classes em C++ Ana Paula Rocha, Luís Paulo Reis, João Pascoal Faria FEUP - MIEEC Programação 2-2008/2009 Conceito de classe em C++ Classe em sentido lato: tipo de dados definido

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode

Leia mais

Roteiro do Programa e Entrada/Saída

Roteiro do Programa e Entrada/Saída Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 14 a Aula Tipos abstratos de dados

Pedro Vasconcelos DCC/FCUP. Programação Funcional 14 a Aula Tipos abstratos de dados Programação Funcional 14 a Aula Tipos abstratos de dados Pedro Vasconcelos DCC/FCUP 2012 Tipos concretos de dados Até agora definimos um novo tipo de dados listamos os seus construtores. data Bool = False

Leia mais

Danilo Borges da Silva daniloborges_@hotmail.com

Danilo Borges da Silva daniloborges_@hotmail.com Danilo Borges da Silva daniloborges_@hotmail.com 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

Leia mais

5. Generics, Iterators e Comparable em Java. Tipos de Dados Abstractos Generics em Java

5. Generics, Iterators e Comparable em Java. Tipos de Dados Abstractos Generics em Java 5. Generics, Iterators e Comparable em Java Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 1 / 12 Tipos de Dados Abstractos

Leia mais

Programação Orientada a Objeto em Python

Programação Orientada a Objeto em Python Programação Orientada a Objeto em Python Seminário de LP III Por: ¹Adriana Nery Ramos, ¹Daniel Andersen Cerqueira Lima,¹Fabilone Santos da Silva, ¹Janaina C.C. G. Reis, ¹Jonisson S. Santos, ¹Roberta Idelfonso

Leia mais

Introdução à Programação Aula 14 Dicionários

Introdução à Programação Aula 14 Dicionários Introdução à Programação Aula 14 Dicionários Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 14 Dicionários 2015 1 / 25 Nesta aula 1 Dicionários 2 Contar ocorrências

Leia mais

Introdução à Programação Aula 16 Mais exemplos de recursão

Introdução à Programação Aula 16 Mais exemplos de recursão Introdução à Programação Aula 16 Mais exemplos de recursão Pedro Vasconcelos DCC/FCUP 2014 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 16 Mais exemplos de recursão 2014 1 / 22 Nesta aula

Leia mais

ProgramaTchê programatche.net Programação OO com PHP

ProgramaTchê programatche.net Programação OO com PHP Roteiro 2 Objetivos: * Apresentar a sintaxe básica para utilização de Orientação a Objetos em PHP. Ferramentas necessárias Navegador, NetBeans, Servidor Apache. 1 Orientação a Objetos em PHP PHP é uma

Leia mais

DURAÇÃO DA PROVA: 2 horas

DURAÇÃ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 mais

Universidade Federal do Pará Centro de Tecnologia da Informação e Comunicação Grupo de Trabalho SET. Tutorial PyQT4

Universidade Federal do Pará Centro de Tecnologia da Informação e Comunicação Grupo de Trabalho SET. Tutorial PyQT4 Universidade Federal do Pará Centro de Tecnologia da Informação e Comunicação Grupo de Trabalho SET Tutorial PyQT4 16 de Agosto de 2011 1 Sumário 1 Introdução 3 2 Criando a interface da aplicação 3 2.1

Leia mais

Introdução à Programação Aula 3 Primeiros programas

Introdução à Programação Aula 3 Primeiros programas Introdução à Programação Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 3 Primeiros programas 2015 1 / 23 Nesta aula... 1 Tipos básicos

Leia mais

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming Curso de PHP FATEC - Jundiaí A programação orientada a objetos (object-oriented oriented programming OOP) é um conjunto de técnicas t para organizar o código c em torno de entidades ou objetos representados

Leia mais

Gustavo Callou gcallou@gmail.com

Gustavo Callou gcallou@gmail.com Gustavo Callou gcallou@gmail.com 1 Conceitos de Orientação a Objetos Objeto Classe Herança Composição Polimorfismo 2 Um paradigma é uma forma de abordar um problema. O paradigma da orientação a objetos

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP

PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP O PHP através da versão 5, veio desenvolvido com suporte a programação orientada a objetos. O que significa isso? Que a partir da versão 5 é possível criar bibliotecas

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO

Leia mais

Python. Resumo e Exercícios P3

Python. 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 mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

Leia mais

Java Threads. Introdução

Java Threads. Introdução Java Threads mleal@inf.puc-rio.br 1 Introdução O único mecanismo de concorrência suportado explicitamente pela linguagem Java é multi-threading. threading. Os mecanismos de gerenciamento e sicronização

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1 / 2013.2

Desenvolvimento Web TCC-00.226 Turma A-1 / 2013.2 1 Desenvolvimento Web TCC-00.226 Turma A-1 / 2013.2 Professor Leandro A. F. Fernandes Instituto de Computação Universidade Federal Fluminense Lista de Exercícios 02 Orientação a Objetos 1) Identifique

Leia mais

Introdução à Programação Aula 2 Introdução à linguagem Python

Introdução à Programação Aula 2 Introdução à linguagem Python Introdução à Programação Aula 2 Introdução à linguagem Python Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 2 Introdução à linguagem Python 2015 1 / 24 Nesta

Leia mais

Laboratório I Aula 4

Laboratório I Aula 4 Laboratório I Aula 4 Prof. Msc. Anderson da Cruz 1. Faça o diagrama de classe UML e programe a classe Data com três atributos inteiros: dia, mês e ano. Faça dois construtores: 1. Um construtor com três

Leia mais

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc. Classes Abstratas Técnico em Informática, M.Sc. Classes Abstratas 2 Classes Abstratas Abstração Devemos considerar as qualidades e comportamentos independentes dos objetos a que pertencem, isolamos seus

Leia mais

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 1 Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira Linguagem a ser Utilizada? Nossa disciplina é de Algoritmos e Estrutura de Dados, e não de linguagem

Leia mais

Introdução à Programação Aula 18 Método de eliminação de Gauss

Introdução à Programação Aula 18 Método de eliminação de Gauss Introdução à Programação Aula 18 Método de eliminação de Gauss Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 18 Método de eliminação de Gauss 2015 1 / 23 Nesta

Leia mais

PROPOSTA COMERCIAL PARA TREINAMENTOS DE TI

PROPOSTA COMERCIAL PARA TREINAMENTOS DE TI PROPOSTA COMERCIAL PARA TREINAMENTOS DE TI Curso: Formação para certificação MCSA em Windows Server 2012 Prepara para as provas: 70-410, 70-411 e 70-412 Em parceria com Pág. 1 Objetivo Adquirindo a formação

Leia mais

Produtividade e qualidade em Python através da metaprogramaçã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 ramalho@python.pro.br @ramalhoorg Fluent Python (O Reilly) Early Release: out/2014 First Edition:

Leia mais

QUITETURA AVANÇADA DE SISTEMAS

QUITETURA AVANÇADA DE SISTEMAS QUITETURA AVANÇADA DE SISTEMAS ICARDO MENDÃO SILVA RMSILVA AT UAL DOT PT MARÇO 2015 AAS OUTLINE INTRODUÇÃO COMENTÁRIOS VARIÁVEIS OPERADORES IF STATEMENT FUNÇÕES CICLO FOR CICLO WHILE STRINGS LISTAS TUPLAS

Leia mais

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 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 mais

Introdução à Linguagem

Introdução à Linguagem Introdução à Linguagem Curso de Nivelamento do PPGMNE Janeiro / 2011 Juliano J. Scremin jjscremin@jjscremin.t5.com.br Um pouco de história Um pouco de história: Nascimento do Python Um pouco de história:

Leia mais

Lição 9 Trabalhando com bibliotecas de classes

Lição 9 Trabalhando com bibliotecas de classes Lição 9 Trabalhando com bibliotecas de classes Introdução à Programação I 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Explicar o que é programação orientada a objetos e alguns de seus

Leia mais

Divisão e Conquista. Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com. BCC402 Aula 08 Algoritmos e Programação Avançada

Divisão e Conquista. Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com. BCC402 Aula 08 Algoritmos e Programação Avançada Divisão e Conquista Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 08 Algoritmos e Programação Avançada Motivação É preciso revolver um problema com uma entrada

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 15 a Aula Árvores de pesquisa

Pedro Vasconcelos DCC/FCUP. Programação Funcional 15 a Aula Árvores de pesquisa Programação Funcional 15 a Aula Árvores de pesquisa Pedro Vasconcelos DCC/FCUP 2014 Árvores binárias Um árvore binária é um grafo dirigido, conexo e acíclico em que cada vértice é de um de dois tipos:

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Introdução à Programação com Classes em C++

Introdução à Programação com Classes em C++ 1 FEUP/LEEC/AED/2001-2002 Introdução à Programação com Classes em C++ João Pascoal Faria http://www.fe.up.pt/~jpf FEUP/LEEC/AED/ 2000-2001 Conceito de classe em C++ 2 Classe em sentido lato: tipo de dados

Leia mais

Desenvolvendo plugins WordPress usando Orientação a Objetos

Desenvolvendo plugins WordPress usando Orientação a Objetos Desenvolvendo plugins WordPress usando Orientação a Objetos por Daniel Antunes danieldeveloper.com @danieldeveloper Introdução Desenvolver plugins WordPress é mais que programar: é obter grandes resultados

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

EMENTA DO CURSO. Tópicos:

EMENTA DO CURSO. Tópicos: EMENTA DO CURSO O Curso Preparatório para a Certificação Oracle Certified Professional, Java SE 6 Programmer (Java Básico) será dividido em 2 módulos e deverá ter os seguintes objetivos e conter os seguintes

Leia mais

Aula 1 Tipo Abstrato de Dados

Aula 1 Tipo Abstrato de Dados Aula 1 Tipo Abstrato de Dados Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 2009-1 O que é um algoritmo? O que é um programa? Algoritmos Sequência de ações executáveis para

Leia mais

Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10

Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10 Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10 Estrutura de Repetição while Estrutura que permite a repetição de um conjunto de comandos. Até o momento vimos o while: while

Leia mais

Programação orientada a objetos: exemplo com frações (conclusão)

Programação orientada a objetos: exemplo com frações (conclusão) Programação orientada a objetos: exemplo com frações (conclusão) Nesta aula vamos desenvolver mais métodos para a classe Fraction; Fração: construtor Métodos especiais class Fraction: def init (self,top,bottom):

Leia mais

Bases de Dados 1. Proposta de resolução de 3 exercícios da 1ª aula prática

Bases de Dados 1. Proposta de resolução de 3 exercícios da 1ª aula prática Bases de Dados 1 Proposta de resolução de 3 exercícios da 1ª aula prática Nas páginas seguintes encontram-se algumas propostas de resoluções das 3 primeiras situações da ficha nº1. Referente à primeira

Leia mais

Programação com Acesso a BD. Programação com OO Acesso em Java

Programação com Acesso a BD. Programação com OO Acesso em Java Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:

Leia mais

Folha Prática 2. Lab. 2

Folha Prática 2. Lab. 2 Programação Folha Prática 2 Lab. 2 Departamento de Informática Universidade da Beira Interior Portugal 2010 Copyright 2010 All rights reserved. 1. Revisão dos conceitos fundamentais da programação de computadores

Leia mais

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Processamento da Informação Teoria. Algoritmos e Tipos de dados Processamento da Informação Teoria Algoritmos e Tipos de dados Semana 01 Prof. Jesús P. Mena-Chalco 24/04/2013 (*) Slides adaptados das aulas do Prof. Harlen Costa Batagelo Algumas definições de algoritmo

Leia mais

Gestão de Redes e Sistemas Distribuídos

Gestão de Redes e Sistemas Distribuídos Gestão de Redes e Sistemas Distribuídos Setembro 2006 Conceitos fundamentais Modelos de estruturação da Gestão (parte II) Arquitectura genérica dum sistema de gestão Sumário???? Módulo I: Conceitos fundamentais

Leia mais

Programação Orientada a Objetos. Encapsulamento

Programação Orientada a Objetos. Encapsulamento Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências

Leia mais

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. josineys@inf.ufpr.br

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. josineys@inf.ufpr.br Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 2 (07/08/15) Introdução ao Python História Características Estrutura dos código-fonte Primeiros elementos

Leia mais

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. 1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto

Leia mais

Capítulo 3. Programação por objectos em Java

Capítulo 3. Programação por objectos em Java Capítulo 3. Programação por objectos em Java 1/46 Índice Indice 3.1 - Qualificadores de visualização 3.2 - Classe 3.3 - Objecto 3.4 - Métodos 3.5 - Herança 3.6 - Reescrita de métodos 3.7 - Classes abstractas

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Composição de classes

Composição de classes Programação com Classes em C++ (cont.) FEUP - MIEEC Programação 2-2008/2009 Composição de classes Uma classe pode ter como membros objectos doutras classes Membros-objecto são inicializados antes dos objectos

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

Programas simples em C

Programas simples em C Programas simples em C Problema 1. Escreve um programa em C que dados dois inteiros indique se são iguais ou qual o maior. Utilizar a construção em 5 etapas... quais? 1. Perceber o problema 2. Ideia da

Leia mais

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

Leia mais

Capítulo 8. Introdução UML

Capítulo 8. Introdução UML Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais

Visual Basic.NET Programação Orientada a Objetos Lista de Exercícios

Visual Basic.NET Programação Orientada a Objetos Lista de Exercícios Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Pato Branco Visual Basic.NET Programação Orientada a Objetos Lista de Exercícios A lista de questões a seguir aborda a criação de

Leia mais

Introdução à Programação Aula 4 Definição de funções

Introdução à Programação Aula 4 Definição de funções Introdução à Programação Aula 4 Definição de funções Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 4 Definição de funções 2015 1 / 28 Nesta aula... 1 Definição

Leia mais

Linguagens de programação

Linguagens de programação Prof. André Backes Linguagens de programação Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve ser descrito em termos de 1 s ou 0 s

Leia mais

Encapsulamento de Dados

Encapsulamento de Dados Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam

Leia mais

Renata de Freitas e Petrucio Viana. IME, UFF 12 de março de 2015

Renata de Freitas e Petrucio Viana. IME, UFF 12 de março de 2015 Definições por indução e por recursão Renata de Freitas e Petrucio Viana IME, UFF 12 de março de 2015 Sumário Lógica formal e principais sistemas lógicos Definições indutivas Definições recursivas Exercícios

Leia mais

PLANIFICAÇÃO MODULAR

PLANIFICAÇÃO MODULAR Direção Regional de Educação Centro AGRUPAMENTO DE ESCOLAS DE MIRA ESCOLA SECUNDÁRIA/3º DR.ª M.ª CÂNDIDA ENSINO PROFISSIONAL DE NÍVEL SECUNDÁRIO POR MÓDULOS Curso Profissional em funcionamento no âmbito

Leia mais

4.2. UML Diagramas de classes

4.2. UML Diagramas de classes Engenharia de Software 4.2. UML Diagramas de classes Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de classes serve para modelar o vocabulário de um sistema Construído e refinado ao longo

Leia mais

Minicurso de Python Aula 1. Raphael Lupchinski Marcelo Millani

Minicurso de Python Aula 1. Raphael Lupchinski Marcelo Millani Minicurso de Python Aula 1 Raphael Lupchinski Marcelo Millani Introdução Python é uma linguagem de programação poderosa e fácil de aprender Possui estruturas de dados eficientes e de alto nível, além de

Leia mais

Módulo 07 Características Avançadas de Classes

Módulo 07 Características Avançadas de Classes Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos

Leia mais

Professor Angelo Gonçalves da Luz INTRODUÇÃO À UNIDADE. Programação Orientada a Objetos

Professor Angelo Gonçalves da Luz INTRODUÇÃO À UNIDADE. Programação Orientada a Objetos Professor Angelo Gonçalves da Luz INTRODUÇÃO À UNIDADE Programação Orientada a Objetos 25/02/2014 Introdução à Unidade 2 Materiais Mussum (187.7.106.14/angelo ou 192.168.200.3/angelo) 25/02/2014 Introdução

Leia mais

Orientação a Objetos. Thiago Messias Evangelista UESC Universidade Estadual de Santa Cruz Version 2012-11-08. 1 LibreOffice Productivity Suite

Orientação a Objetos. Thiago Messias Evangelista UESC Universidade Estadual de Santa Cruz Version 2012-11-08. 1 LibreOffice Productivity Suite Orientação a Objetos Thiago Messias Evangelista UESC Universidade Estadual de Santa Cruz Version 2012-11-08 1 Abordagens História; ; Benefícios / Limitações; Referências; 2 História Tudo tem um começo...

Leia mais

Introduçã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 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 mais

Questões de Concursos Públicos sobre Orientação a Objetos e UML

Questões de Concursos Públicos sobre Orientação a Objetos e UML Análise Orientada a Objetos Professora Lucélia Oliveira Questões de Concursos Públicos sobre Orientação a Objetos e UML 1. (BNDES) Analise as seguintes afirmações relativas à Programação Orientada a Objetos:

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação A Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Objectos (1) Objectos são coisas que temos no mundo real e abstraímos no mundo virtual para que possamos manipulá-los

Leia mais

PROGRAMAÇÃO SERVIDOR PADRÕES DAO, VIEW CONTROL E FRONT CONTROL EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR PADRÕES DAO, VIEW CONTROL E FRONT CONTROL EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES DAO, VIEW CONTROL E FRONT CONTROL Prof. Dr. Daniel Caetano 2012-1 Objetivos Capacitar para a implementação seguindo o padrão DAO Compreender a implementação

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

Flying Circus Documentation

Flying Circus Documentation Flying Circus Documentation Release 0.1.0 Carlo E. T. Oliveira June 27, 2016 Contents 1 Sumário 3 1.1 Como brincar com os desafios...................................... 3 1.2 Criando uma Câmara com Constantes..................................

Leia mais

Luciano Ramalho luciano@ramalho.org. 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 Luciano Ramalho luciano@ramalho.org setembro/2012 Objetos Pythonicos Orientação a objetos e padrões de projeto em Python Para me encontrar Juntem-se a Oficinas Turing no Google Groups solicite um convite

Leia mais