Overloading e Overriding - parte 1

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

Download "Overloading e Overriding - parte 1"

Transcrição

1 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Overloading e Overriding - parte 1! Overloading e Overriding são técnicas que, a partir de um nome de função ou método definido em uma chamada, seleciona para a execução uma determinada forma dentre diversas possíveis. Apesar dessa definição comum, overloading e overriding são mecanismos distintos. Overloading ocorre em tempo de compilação enquanto overriding ocorre em tempo de execução.! O compilador examina o contexto no qual o overloading está sendo utilizado e determina o corpo de função mais apropriado. Normalmente o aspecto mais crítico para essa tomada de decisão é o tipo de assinatura dos argumentos que estão sendo utilizados na chamada. Como essa seleção do corpo de função é feita em tempo de compilação, ela é estática.! De maneira geral, overloading também é chamado de ad hoc polymorphism e tem pouca relação com a Orientação a Objetos. Ele pode ser encontrado em diversas linguagens de programação não orientada a objetos, como por exemplo a linguagem C. Apesar disso, overloading é uma poderosa forma de polimorfismo.! Neste material, será apresentado o overloading. O overriding será apresentado no próximo material desta disciplina. 1. Overloading! A idéia chave para a compreensão do overloading é: i) o tipo de assinatura da função ou método e ii) escopo de uso.! O Tipo de Assinatura de Função ou Método é a descrição dos tipos de argumentos associados com a função, a ordem dos argumentos e o tipo de retorno da função.! O Escopo de Uso, por sua vez, define a parte do programa que a função ou método será usado ou a sua forma de uso. Duas funções diferentes podem ter variáveis locais de mesmo nome e não haverá confusão alguma nem overlap. Métodos podem ter o mesmo nome sem que ocorra ambiguidade.

2 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 2! Exemplo:!! class Math!!! int soma( int a) return a;!!! int soma (int a, int b) return (a+b);!!! int soma (int a, int b, int c) return (a+b+c);!! No Overloading, é importante destacar que a definição de qual corpo de método será executado em decorrência de uma chamada, é feita em tempo de compilação baseado no tipo estático dos valores dos argumentos. De maneira diferente do overriding, nenhum mecanismo de definição em tempo de execução é utilizado.! Supondo que existem dois métodos print. Um deles recebe como argumento uma instância de uma classe Pessoa e o outro método, uma instância da classe Aluno. A classe Aluno é filha da classe Pessoa. O Quadro a seguir apresenta o código C++ do exemplo descrito. Qual será o método a ser executado? Quadro 1 - Exemplo de Overloading class Pessoa private : string nome; public : void setnome(string v)nome = v; string getnome()return nome; ; class Aluno : public Pessoa ; void print(pessoa *p) std::cout << "Pessoa: "<< p->getnome() << "\n"; void print(aluno *a) std::cout << "Aluno: " << a->getnome() << "\n" ; int main(int argc, char** argv) Pessoa *alguem = new Aluno(); alguem->setnome("charles Mingus"); print(alguem);! O método que será executado será o primeiro, o definido no Quadro 1 na cor vermelha. A definição de qual função print será utilizada é estática. Ela ocorre em tempo de compilação.

3 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ) Redefinição! Redefinição ocorre quando uma classe Filha define um método utilizando o mesmo nome de um método da classe Pai mas com uma assinatura diferente. A mudança no tipo de assinatura é o que diferencia a Redefinição do Overloading. Há dois modos de se tratar isso a saber: * Merge Mode : exemplo de linguagem que implementa o merge mode : Java. Para tratar uma chamada, todas as possíveis alternativas são examinadas e a alternativa mais próxima é a selecionada. * Hierarchical Mode : exemplo de linguagem que implementa o hierarquical mode. Na linguagem C++ cada escopo é mantido em uma lista separada. Para casar uma chamada de método com o método propriamente dito, cada escopo de lista é examinado de maneira sequencial. Ao localizar o nome do método, passa-se ao segundo passo que é analisar os argumentos.! Por exemplo, na linguagem Java, é permitido o seguinte código ilustrado no Quadro 2. Quadro 2 class Pai public void print(string nome)system.out.println("pai: " + nome); class Filho extends Pai public void print(string nome, int id) System.out.println("Filho: " + nome + " idade=" + id); public class Main public static void main(string[] args) Filho junior = new Filho(); junior.print("guerry Mulligan");! O método da classe Pai será selecionado e executado pois ele é quem melhor casa com a chamada do método.! O mesmo exemplo, se representado na linguagem C++ fornecerá um erro de compilação. O Quadro 3 apresenta o código em C++ desse exemplo. O Erro de Compilação ocorre por que o escopo correspondente à classe filha é examinado por

4 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 4 primeiro antes do escopo da classe pai. Um método com o mesmo nome é encontrado no escopo da classe filha, o método print. Ao analisar os argumentos, o compilador identifica que os argumentos do método localizado na classe filha são diferentes dos argumentos da chamada do método da função principal (main). Isso é interpretado como um erro, pois o compilador C++ realiza uma análize hierárquica. De maneira resumida, o compilador analisa o código, localiza o método print na classe Filho e verifica o casamento dos tipos de argumentos da chamada de função e da função localizada. Os tipos de argumento não casando é interpretado como erro de compilação.! Quadro 3 - O código a seguir apresentará um erro de compilação class Pai public: void print(string nome) cout << "Pai: " << nome; ; class Filho : public Pai public: void print(string nome, int id) cout << "Filho: " << nome << " idade=" << id; ; int main(int argc, char** argv) Filho *junior = new Filho(); junior->print("guerry Mulligan");! Para se resolver essa particularidade do Modo Hierarquico (Hierarchical Mode), o programador deverá redefinir o método da classe pai na classe filha. O Quadro 4 ilustra essa modificação com o código na cor vermelha e fonte em itálico.

5 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 5 Quadro 4 class Pai public: void print(string nome) cout << "Pai: " << nome; ; class Filho : public Pai public: void print(string nome, int id) cout << "Filho: " << nome << " idade=" << id; ; void print(string nome)pai::print(nome); int main(int argc, char** argv) Filho *junior = new Filho(); junior->print("guerry Mulligan"); 1.2 Polyadicity! Uma função polyadic é uma que recebe uma quantidade variável de argumentos. Por exemplo, na linguagem C, a função printf. Essa função pode ser chamada de acordo, mas não limitada aos seguintes exemplos: printf( Ivo viu a uva ); printf( O resultado da divisao entre %i e %i eh %f, 4,5,(4/5));!! Escrever uma chamada para uma função polyadic é fácil. A dificuldade reside em escrever o corpo dessa função. Por exemplo, como rotular uma quantidade indefinida de argumentos?! Na linguagem C/C++, por exemplo, a indicação que uma função receberá uma quantidade indefinida de argumentos é feita por... ( três pontos ). C/C++ utiliza um conceito denominado de ellipsis para implementar isso. Nesse conceito, deve-se utilizar um tipo de dado chamado (macro) va_list para uma lista de argumentos variáveis, e um trio de métodos (macros) va_start, va_arg e va_end. O endereço fornece uma descrição a respeito de como utilizar o conceito ellipsis.

6 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 6! O Quadro 5, a seguir, exemplifica o conceito de ellipsis. Nesse exempplo, uma função somar deve realizar a soma de uma quantidade indefinida de números inteiros. No Quadro 5, a função somar recebe como primeiro parâmetro a quantidade de elementos que serão enviados, em seguida,... para indicar que uma seqüência de valores serão passados.! Uma variável listpointer é definida do tipo var_list. A função va_start (listpointer, quantidadedeelementos) inicializa um ponteiro interno para os dados enviados. Cada elemento da lista enviada é acessado por meio da função va_arg. Ao final do processo, fecha-se o ponteiro va_end.! #include <stdarg.h> Quadro 5 int somar(int quantidadedeelementos,...) int arg, saida = 0; va_list listpointer; va_start( listpointer, quantidadedeelementos ); int i = 0; for( int i = 0 ; i < quantidadedeelementos; i++ ) arg = va_arg( listpointer, int ); printf( " O %dth o.argumento eh %d\n", i, arg ); saida += arg; getchar(); va_end(listpointer); printf("a soma resulta %i \n", saida); return saida; int main(int argc, char** argv) somar(10, 2, 4, 5, 7, 8, 12, -2, 6, 13, 1);! O Quadro 6, por sua vez, exemplifica a passagem de instâncias de classes como parâmetros. Similar ao Quadro 5, a quantidade de elementos não é definida a priore.

7 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 7 #include <stdarg.h> Quadro 6 class Pessoa protected : string nome; public: void print() cout << "Pessoa: " << nome; Pessoa(string v)nome = v; Pessoa()nome="desconhecido"; ; void printfamilia(int n,...) va_list listpointer; va_start( listpointer, n ); int i = 0; for( int i = 0 ; i < n; i++ ) Pessoa *arg = va_arg( listpointer, Pessoa *); printf( " getchar(); va_end(listpointer); O %dth o.argumento eh ", (i+1) ); arg->print(); int main(int argc, char** argv) Pessoa *p1 = new Pessoa("Charlie Parquer"); Pessoa *p2 = new Pessoa("Michael Brecker"); Pessoa *p3 = new Pessoa("Coleman Hawkins"); printfamilia(3, p1, p2, p3); delete p1; delete p2; delete p3; 1.3 Parâmetros Opcionais!! Outra forma de definição de variação de parâmetros, é a definição de parâmetros que são opcionais. Nesse caso, a definição da função deverá explicitar um valor padrão para os parâmetros faltantes. Os parâmetros opcionais precisam aparecer por último na definição da função. O Quadro 7 apresenta um pequeno exemplo do conceito de Parâmetros Opcionais.

8 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 8 #include <climits> #include <stdio.h> #define minimo INT_MIN Quadro 7 int maior( int x, int y, int z = minimo) if ( z!= minimo) printf("valores recebido: %i, %i, %i \n", x, y, z); else printf("valores recebido: %i, %i \n", x, y); int saida = z; printf("saida %i \n", saida ); if (y > saida) saida = y; printf("saida = %i \n", saida ); if (x > saida) saida = x; printf("saida = %i \n", saida ); return saida; int main(int argc, char** argv) int a = 4; int b = 6; int c = 9; int maxv = maior(a,b,c); printf("o maior valor entre %i, %i, %i eh %i\n", a,b,c, maxv); printf("\n\n **** Proxima Comparacao:\n"); int maxv2 = maior(a,b); printf("o maior valor entre %i, %i eh %i \n", a,b, maxv2); 1.4 Polyadicity na Linguagem Java! O conceito de polyadicity é implementado na linguagem Java de maneira similar à linguagem C++ 1. No Quadro 8, o mesmo exemplo do Quadro 5 é adaptado para a linguagem Java. 1 Um especial agradecimento ao aluno Guilherme Riesemberg pelo exemplo de aplicação na linguagem Java em 10 de abril de 2013.

9 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 9 public class Main Quadro 8 public static int somar(int... numeros) int saida = 0; for (int j : numeros) saida += j; return saida; public static void main(string[] args) System.out.println(somar(3,4,5,6,7,8,9)); 2. Exercício! Outro aspecto importante de programação é o conceito de multimétodos ou multimethods ou multiple dispatch. Como exercício voce deverá: Investigar o que é esse conceito e exemplificá-lo na linguagem C++ É possível implementar o conceito de multi-mehod na linguagem de programação Java? Se sim, como?

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara Universidade do Estado de Minas Gerais - UEMG Curso de Engenharia da Computação FUNÇÕES EM C 1 Material adaptado da profa Silvana Maria Affonso de Lara ROTEIRO DA AULA Definição de Função Argumentos, retornos

Leia mais

Diagrama de Classes. Conceitos Básicos. prof. Robinson Vida Monday, April 20, 15

Diagrama de Classes. Conceitos Básicos. prof. Robinson Vida Monday, April 20, 15 Diagrama de Classes Conceitos Básicos prof. Robinson Vida (vida@utfpr.edu.br) 1 Função do Diagrama de Classes Permitir a visualização das classes que comporão o sistema com seus respectivos atributos e

Leia mais

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Sub-rotinas em C Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Agenda Sub-rotinas: Função e Procedimentos A função main Variáveis globais e locais Escopo de variáveis Passagem

Leia mais

Programação Java (nível intermediário) 4. Polimorfismo

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

Um aluno digitou o código C++ a seguir:

Um aluno digitou o código C++ a seguir: Questão Pai Filha Assunto avaliado: Polimorfismo. Um aluno digitou o código C++ a seguir: #include #include #include #include using namespace std; class Pai Pai()

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando

Leia mais

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Material preparado pela profa Silvana Maria Affonso de Lara

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Material preparado pela profa Silvana Maria Affonso de Lara Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação FUNÇÕES EM C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA Definição

Leia mais

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 07 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação ARGUMENTOS POR LINHA DE COMANDO 2 Argumento por linha de comando Na

Leia mais

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

AULA 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 mais

Programação Estruturada

Programação Estruturada Programação Estruturada Ponteiros Parte 1 Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Ponteiros Ponteiro Ponteiros

Leia mais

Funções. definição, declaração e chamada

Funções. definição, declaração e chamada Funções definição, declaração e chamada Funções Em C, um programa é uma coleção de FUNÇÕES. Uma função é um bloco de código que recebe um nome e que tem possivelmente PARÂMETROS. A partir do nome, o bloco

Leia mais

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... } Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação

Leia mais

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem

Leia mais

Primeira Prova de Linguagens de Programação - DCC024B -

Primeira Prova de Linguagens de Programação - DCC024B - Primeira Prova de Linguagens de Programação - DCC024B - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem

Leia mais

Quando um Auto-Relacionamento não é mais um Auto-Relacionamento

Quando um Auto-Relacionamento não é mais um Auto-Relacionamento UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Quando um Auto-Relacionamento não é mais um Auto-Relacionamento! 1. Introdução!! Em algumas situações, durante o processo de modelagem,

Leia mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Lista 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 mais

Ponteiros e Tabelas. K&R: Capítulo 5

Ponteiros e Tabelas. K&R: Capítulo 5 Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros

Leia mais

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos

SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos Funções SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves ICMC/USP São Carlos Slides baseados no material gentilmente cedido pela Profa Simone Senger Souza 2 MODULARIZAÇÃO Um

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal ALGORITMOS AULA 01 Baseado nas aulas do Prof. Jorgiano Vidal LINGUAGEM C Uma das grandes vantagens do C é que ele possui tanto caracterìsticas de "alto nìvel" quanto de "baixo nìvel". Linguagem de propósito

Leia mais

PCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 6: Polimorfismo

PCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 6: Polimorfismo PCS3111 Laboratório de Programação Orientada a Objetos para Engenharia Elétrica Aula 6: Polimorfismo Escola Politécnica da Universidade de São Paulo Conceito de polimorfismo 2 Polimorfismo A palavra vem

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Funções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná

Funções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná em C Linguagem de Programação Estruturada I Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Sumário Funções: Conceitos; Forma Geral das funções; Regras de Escopo; Argumentos

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação CP41F Aula 13 Prof. Daniel Cavalcanti Jeronymo Declaração de funções. Funções sem e com retorno. Parâmetros de funções. Ponteiros para funções. Universidade Tecnológica Federal

Leia mais

Linguagem de Programação C

Linguagem de Programação C ICMC USP Linguagem de Programação C Aula: Funções em C Prof Alneu de Andrade Lopes MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente em vários subproblemas MODULARIZAÇÃO

Leia mais

Atributos e Métodos Estáticos

Atributos e Métodos Estáticos Atributos e Métodos Estáticos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Atributos Estáticos Atributos

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

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(){

Leia mais

Classes, Métodos e Propriedades

Classes, Métodos e Propriedades Ambiente de Programação Visual Classes, Métodos e Propriedades Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos dar continuidade aos elementos de programação da Linguagem C#. Iremos apresentar de

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

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

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETRÔNICA (DAELN) 2 a Prova

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETRÔNICA (DAELN) 2 a Prova UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETRÔNICA (DAELN) Curso: Engenharia Eletrônica, Disciplina: Fundamentos de Programação II (IF62C), Turma: S Professores: Hermes Del

Leia mais

Estrutura de Dados. TAD (Tipo Abstrato de Dados) Criando a primeira estrutura

Estrutura de Dados. TAD (Tipo Abstrato de Dados) Criando a primeira estrutura Estrutura de Dados TAD (Tipo Abstrato de Dados) Criando a primeira estrutura TAD Um tipo de dado abstrato pode ser definido como um conjunto de valores e uma coleção de operações que atual sobre esses

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia do Ceará IFCE Programa Educacional Brasileiro de Desenvolvimento para ios BEPiD PROVA OBJETIVA

Instituto Federal de Educação, Ciência e Tecnologia do Ceará IFCE Programa Educacional Brasileiro de Desenvolvimento para ios BEPiD PROVA OBJETIVA Instituto Federal de Educação, Ciência e Tecnologia do Ceará IFCE Programa Educacional Brasileiro de Desenvolvimento para ios BEPiD PROVA OBJETIVA 01) A negação de eu não gosto de acordar cedo e eu sou

Leia mais

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

#include <stdio.h> void Swap (int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } main () {

#include <stdio.h> void Swap (int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } main () { 422 #include void Swap (int *a,int *b) int temp; temp=*a; *a=*b; *b=temp; main () int num1,num2; printf("\nentre com o primeiro valor: "); scanf ("%d",&num1); printf("\nentre com o segundo valor:

Leia mais

Classificação das linguagens de programação

Classificação das linguagens de programação Introdução Linguagem É um meio de comunicação entre pessoas. Faculdade de expressão audível e articulada do homem. Conjunto de sinais falados, escritos ou gesticulados de que se serve o homem para demonstrar

Leia mais

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III Programação Orientada a Objetos Alexandre César Muniz de Oliveira Métodos e Atributos Parte III Métodos [mod] tipo nome ([tipo arg]) [throws exc]{ [mod]: zero ou mais modificadores separados por espaços

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

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

Leia mais

Básico: estrutura de programa, sintaxe Interface com linha de comando

Básico: estrutura de programa, sintaxe Interface com linha de comando Programação em C Sintaxe Básico: estrutura de programa, sintaxe Interface com linha de comando Preprocessamento e compilação Makefiles Ponteiros e estruturas Bibliotecas, ficheiros include e funções Referências

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou

Leia mais

Namespaces, Classes e Métodos.

Namespaces, Classes e Métodos. . Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem

Leia mais

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO AO JAVA. Professor Carlos Muniz

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO AO JAVA. Professor Carlos Muniz Instalação do Compilador/Interpretador ( JDK ) As versões do JDK estão disponíveis livremente na Internet no site: http://java.sun.com O JDK, apresenta variáveis de ambiente, utilizadas para indicar ao

Leia mais

Lista de Linguagens de Programação 19

Lista de Linguagens de Programação 19 Lista de Linguagens de Programação 19 Nome: Matrícula: 1. A passagem de parâmetros por expansão de macros é um mecanismo bastante utilizado em C. Um exemplo é dado abaixo: #define SUM(X, Y) (X) + (Y) int

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio) Módulo 5 Programação Orientada a Objetos Programação Orientada a Objetos I Java (Rone Ilídio) Programação Orientada a Objetos Registro em Pascal: Type Cliente = Record Nome: String; Telefone: String; Idade:

Leia mais

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de

Leia mais

Classes e Objetos. Sintaxe de classe em Java

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

Leia mais

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

9 Classes Abstractas e Interfaces

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

Leia mais

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;

Leia mais

Atribuições: Valores, Ponteiros e Referências

Atribuições: Valores, Ponteiros e Referências Atribuições: Valores, Ponteiros e Referências Estruturas de Dados Prof. Vilson Heck Junior Sobre Variáveis Aprendemos, em introdução à programação, que possuem 3 partes mais importantes: Nome; Tipo de

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Funções

Algoritmos e Estruturas de Dados I (DCC/003) Funções Algoritmos e Estruturas de Dados I (DCC/003) Funções Funções Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada, e definem um valor de saída

Leia mais

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Linguagem 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 mais

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza ESTRUTURAS CONDICIONAIS Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais

Leia mais

Material sobre Funções AEDS 1

Material sobre Funções AEDS 1 Material sobre Funções AEDS 1 1 Funções - revisão Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada e definem um valor de saída 2 Funções -

Leia mais

LINGUAGEM DE PROGRAMAÇÃO C++ CLASSES E OBJETOS

LINGUAGEM DE PROGRAMAÇÃO C++ CLASSES E OBJETOS LINGUAGEM DE PROGRAMAÇÃO C++ E OBJETOS Roberto S. Bigonha UFMG 4 de abril de 2012 ESTRUTURAS ESTRUTURAS ESTRUTURAS Cada estrutura (struct) cria um novo tipo Dois tipos estruturas de nomes distintos são

Leia mais

Algoritmos e Estruturas de Dados I IEC012. Procedimentos e Funções. Prof. César Melo Todos os créditos para o professor Leandro Galvão

Algoritmos e Estruturas de Dados I IEC012. Procedimentos e Funções. Prof. César Melo Todos os créditos para o professor Leandro Galvão Algoritmos e Estruturas de Dados I IEC012 Procedimentos e Funções Prof. César Melo Todos os créditos para o professor Leandro Galvão Procedimentos e Funções Procedimentos são s estruturas que agrupam um

Leia mais

4 Conceito de Herança

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

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista

Leia mais

Trabalho Linguagem e Programação de Compiladores

Trabalho Linguagem e Programação de Compiladores Trabalho Linguagem e Programação de Compiladores Responda as questões. Os exercícios deverão ser desenvolvidos utilizando as estruturas apresentadas em aula e adequadas para cada problema. Forma de entrega:

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Linguagem C (continuação)

Linguagem C (continuação) Linguagem C (continuação) Funções, arrays e ponteiros Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Ponteiros Copyright 2014 IFRN Agenda Memória Ponteiros Aritmética de ponteiros Arrays/strings Parâmetros de função

Leia mais

Sub-rotinas David Déharbe

Sub-rotinas David Déharbe Sub-rotinas David Déharbe 1 1 Objetivos da aula Os conceitos de sub-rotina, funções e procedimentos; Como usar sub-rotinas em C: parâmetros de sub-rotinas: parâmetros formais e parâmetros efetivos. passagem

Leia mais

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node {

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node { Listas (cont.) K&R: Capitulo 6 Lista Simplesmente Ligada Conjunto de nós head NULL Cada nó contém Informação útil Ponteiro para o próimo nó typedef struct node Item item; struct node *net; *link; Item

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java

Leia mais

Apontadores/ponteiros

Apontadores/ponteiros Apontadores/ponteiros 1 Apontadores/ponteiros 1. Um ponteiro pode ser manipulado como sendo um vetor. #include int v[5] = { 10, 20, 30, 40, 50 ; int p, i; p = v; for (i = 1; i < 5; i++) printf

Leia mais

PLANO DE UNIDADE DIDÁTICA- PUD

PLANO DE UNIDADE DIDÁTICA- PUD Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de

Leia mais

ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais. Prof. Luiz Fernando Laguardia Campos FMS

ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais. Prof. Luiz Fernando Laguardia Campos FMS ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais Prof. Luiz Fernando Laguardia Campos FMS lflcampos@machadosobrinho.com.br Compilação/Interpretação Um compilador ao receber como entrada

Leia mais

Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU

Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU Aula 6 POO 1 Construtores Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Estruturas de controle Parte 1

Estruturas de controle Parte 1 1. Objetivos Estruturas de controle Parte 1 Nas lições anteriores, foram mostrados programas seqüenciais, onde as instruções foram executadas uma após a outra de forma fixa. Nesta lição, discutiremos estruturas

Leia mais

Algoritmos e Programação. Linguagem C Procedimentos e. Eliane Pozzebon

Algoritmos e Programação. Linguagem C Procedimentos e. Eliane Pozzebon Algoritmos e Programação Linguagem C Procedimentos e Funções Eliane Pozzebon Procedimentos e Funções Procedimentos são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento

Leia mais

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de Exceção Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de exceção Exceção é uma contração de Evento de Exceção Evento de exceção impede a execução normal de um programa Quando

Leia mais

TE091 Programação Orientada a Objetos Engenharia Elétrica

TE091 Programação Orientada a Objetos Engenharia Elétrica TE091 Programação Orientada a Objetos Engenharia Elétrica Revisão Rápida de Programação em C Prof. Carlos Marcelo Pedroso 2015 Revisão Linguagem C Características principais Modularidade: uso de procedimentos

Leia mais

Orientação a Objetos. Programação em C++

Orientação a Objetos. Programação em C++ OO Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 12: Const, Static, NameSpace e Nested Prof. Jean Marcelo SIMÃO Métodos Const #ifndef _MINHASTRING_H_ #define _MINHASTRING_H_ class

Leia mais

Relacionamentos entre objetos

Relacionamentos entre objetos Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

Leia mais

Polimorfismo. O que é polimorfismo?

Polimorfismo. O que é polimorfismo? O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus

Leia mais

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza ESTRUTURAS CONDICIONAIS Introdução à Ciência da ComputaçãoI Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais Estrutura

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

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

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso da linguagem C Entendendo Estrutura de Dados Revisão da Linguagem C Tipos primitivos Vetores

Leia mais

C O N S T R U T O R E S E S O B R E C A R G A P R O F. M E. H É L I O E S P E R I D I Ã O

C O N S T R U T O R E S E S O B R E C A R G A P R O F. M E. H É L I O E S P E R I D I Ã O C O N S T R U T O R E S E S O B R E C A R G A P R O F. M E. H É L I O E S P E R I D I Ã O NOME DE CLASSES Toda classe deve começar com uma letra maiúscula. Não pode conter letras não ASCII (caracteres

Leia mais

Listas Ligadas (Encadeadas) Listas Simplesmente Encadeadas

Listas Ligadas (Encadeadas) Listas Simplesmente Encadeadas Listas Ligadas (Encadeadas) Matrizes são estruturas de dados muito úteis fornecidas nas linguagens de programação. No entanto, elas têm pelo menos duas limitações: 1- Seu tamanho tem que ser conhecido

Leia mais

1 Introdução e Conceitos básicos

1 Introdução e Conceitos básicos 1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2

Leia mais

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes - Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Aula 18: Funções em C

Aula 18: Funções em C Aula 18: Funções em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Funções em C Programação de Computadores IV 1 / 38 Agenda 1 Revisão e Contexto

Leia mais

Herança. Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman SISTEMAS DE INFORMAÇÃO 1

Herança. Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman SISTEMAS DE INFORMAÇÃO 1 Herança Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman 1 1 1 Motivação Você está desenvolvendo um sistema de gerenciamento de pessoal para a USP Precisa fazer: Cadastro de alunos e professores

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Introdução a Programação. Ponteiros e Passagem de Argumentos por Referência

Introdução a Programação. Ponteiros e Passagem de Argumentos por Referência Introdução a Programação Ponteiros e Passagem de Argumentos por Referência Tópicos da Aula Hoje aprenderemos a manipular endereços de memória ou ponteiros Variáveis e Endereços Conceito de Ponteiro Operadores

Leia mais

#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 );

#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 ); O todo é igual à soma das partes. Euclides. FUNÇÕES E PROCEDIMENTOS Embora sem saber, ao longo dos outros laboratórios, já foram utilizadas funções tais como printf, scanf, getchar, putchar, dentre outras

Leia mais

Linguagem e Técnicas de Programação

Linguagem e Técnicas de Programação Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes. JAVA ENCAPSULAMENTO Na linguagem de programação Java, a classe é o alicerce para o encapsulamento, o qual é definido como uma técnica que faz com que os atributos da classe permaneçam ocultos, pois desta

Leia mais