Classes e Encapsulamento
|
|
|
- Micaela Balsemão de Santarém
- 9 Há anos
- Visualizações:
Transcrição
1 Classes e Encapsulamento Marcio Santi POO e C++ Tipo Abstrato de Dados (TAD) TAD atributos dados que o representam interface operações associadas como é manipulado 1
2 Exemplo: Editor Gráfico (classe círculo) círculo struct circle double x, y; double rad; void translation( ); void scale( ); double area( ); double perim( ); atributos interface (x,y) rad Conceito de classes em C++ O conceito de classes em C++ pode ser visto como uma extensão à idéia de estruturas encontrada em C puro. É uma forma de se implementar um tipo e associar a ele funções e operadores. Uma classe em C++ é o elemento básico sobre o qual toda a orientação a objetos está apoiada. Classes (TAD) não são definidos pela sua representação interna, mas sim pelas operações sobre esse tipo (interface). Estas operações só fazem sentido quando associadas às suas representações. 2
3 Funções como membros de estruturas Conceito de estruturas em C++ permite que funções sejam membros. Declaração da função é incluída na definição da estrutura. Define-se operações diretamente relacionadas a um TAD, exemplo: stack data, operands; // data.reset( ); operands.reset( ); Função membro (ou método) reset atribui a data.top e a operands.top o valor EMPTY. Função como membros de estruturas Se declaramos um ponteiro para uma stack: stack * ptr_operands = &operands; // ptr_operands -> push( A ); No trecho de código acima, a chamada do método push incrementa operands.top e atribui a operands.s[top] o valor A 3
4 Funções membro inline Funções membro, ou métodos, definidos dentro da classe são implicitamente inline. Para defini-las fora da estrutura, teríamos que utilizar o operador de escopo: struct stack // void push( char c); // prototype ou assinatura do método ; operador de escopo // void stack::push( char c ) s[++top] = c; Sobrecarga de métodos É possível também sobrecarregar métodos em uma estrutura: struct stack // char pop( ); char pop( int n ); // sobrecarga à pop( ); ; char stack::pop( int n ) while( (n-- > 1) && (_top == 0) ) _top--; return _s[_top--]; 4
5 Acesso público e privado O conceito de estruturas em C++ também permite a definição das formas de acesso a seus dados. IDÉIA: esconder o máximo de informação possível. Para tal são impostas certas regras para acesso a atributos e métodos de uma classe. São estabelecidos três níveis de permissão de acordo com o contexto de uso dos atributos: Privado: acesso restrito aos métodos da classe. Público: acesso a partir de objetos da classe. Protegido: acesso liberado a métodos de classes derivadas (depois). Cada um tem uma palavra reservada associada, private, public e protected respectivamente. Acesso público e privado struct controle private: int a; int f1( char* b ); protected: int b; int f2( float ); int c; float d; void f3( controle* ); ; As seções podem ser declaradas em qualquer ordem, inclusive podem aparecer mais de uma vez. 5
6 Membros de classes private Somente a própria classe pode acessar os atributos privados. Ou seja, somente os métodos da própria classe têm acesso a esses atributos. struct SemUso private: int valor; void f1() valor = 0; int f2() return valor; ; int main() SemUso p; p.f1(); printf("%d", p.f2() ); return 0; // cria um objeto do tipo SemUso // erro, f1 é private! // erro, f2 é private! Membros de classes public É possível fazer chamadas e manipular respectivamente métodos e atributos da classe. Para poder chamar os métodos f1 e f2 no exemplo anterior é necessário defini-los como struct SemUso private: int valor; void f1() valor = 0; int f2() return valor; ; // p.f1(); printf("%d", p.f2() ); // ok, f1 é public! // ok, f2 é public! 6
7 Diferença entre struct e class em C++ Ambas podem representam, em C++, um TAD A diferença está no nível de proteção, caso nenhum dos especificadores de acesso seja usado: class: por default é private struct: por default é public struct A int a; // a é público ; class B int a; // a é privado ; Exemplo: Editor Gráfico (classe círculo) círculo private public class circle double x, y; double rad; void translation( ); void scale( ); double area( ); double perim( ); atributos interface (x,y) rad 7
8 Exemplo: Pilha (classe stack) private public class stack int top; int elems[50]; void push( int i ); int pop( ); int empty( ); void reset( ); atributos interface Funções e classes friend Algumas vezes duas classes são tão próximas conceitualmente que seria desejável que uma delas tivesse acesso irrestrito aos membros da outra. class point friend class circle; private: double _x, _y; point(double x, double y):_x(x),_y(y) ; class circle double rad; point cnt; circle(point c, double r): rad(r),cnt(c) void show( ) printf("x = %f\ny = %f\nr = %f\n", cnt._x, cnt._y, rad); ; 8
9 Funções e classes friend Em C++ funções também podem ser friend de uma classe: class Stack friend Stack* createstack(void); int top; int elems[max]; void push(int i) elems[++top]=i; int pop(void) return elems[top--]; int empty(void) return top == EMPTY; ; // Stack* createstack(void) Stack* s = new Stack; s->top = EMPTY; return s; Funções e classes friend A idéia de métodos e classes friend, no entanto, quebra um dos conceitos básicos de POO, o encapsulamento. No exemplo da classe stack seria possível uma outra construção que evitaria o uso da palavra friend. class Stack int top; int elems[max]; void push(int i) elems[++top]=i; int pop(void) return elems[top--]; void reset( ) top = EMPTY; int empty(void) return top == EMPTY; ; Stack* createstack(void) Stack* s = new Stack; s->reset( ); return s; 9
10 Construtores e destrutores CONSTRUTOR: É uma função membro, ou método, usado para construir um objeto de uma dada classe e é chamado automaticamente quando um objeto é instanciado. DESTRUTOR: Analogamente, é um método chamado automaticamente quando um objeto é destruído. Os construtores são importantes para manter a consistência interna do objeto. O construtor deve garantir que o objeto recém criado seja consistente. No exemplo da classe stack era necessário antes de usar o objeto, ou seja, carregar a pilha, inicializá-lo através da função reset(). Mas algum cliente incauto da classe stack poderia inserir e eliminar elementos na pilha sem antes inicializá-la o que provocaria invasão de memória. O uso de construtores elimina essa possibilidade. Construtores: classe stack class Stack pint top; int elems[max]; void reset( ) top = EMPTY; void push(int i) elems[++top]=i; int pop(void) return elems[top--]; int empty(void) return top == EMPTY; ; class Stack int top; int elems[max]; Stack( ) top = EMPTY; void push(int i) elems[++top]=i; int pop(void) return elems[top--]; int empty(void) return top == EMPTY; ; int main( ) Stack s; s.reset( ); s.push(43); int main( ) Stack s; s.push(43); 10
11 Construtores e destrutores: declaração Os construtores e destrutores são métodos especiais. Nenhum dos dois tem um tipo de retorno. O destrutor não pode receber parâmetros, ao contrário dos construtores. A declaração de um construtor é feita definindo-se um método com o mesmo nome da classe. O nome do destrutor é o nome da classe precedido de ~ (til). Um construtor de uma classe X é declarado como um método de nome X, o nome do destrutor é ~X. Pelo mecanismo de sobrecarga, classes podem ter mais de um construtor, ao contrário dos destrutores. Chamada de construtores e destrutores Os construtores são chamados automaticamente sempre que um objeto da classe for criado: Quando a variável é declarada (alocado na pilha) Quando o objeto é alocado com new (alocado do heap) Os destrutores de objetos alocados na pilha são chamados quando o objeto sai do seu escopo. Os destrutores de objetos criados com new são chamados com o operador delete. class A A( ) printf( construtor\n ); ~A( ) printf( destrutor\n ); ; void main() A a1; // chama construtor de a1 A *a3; A a2; // chama construtor de a2 a3 = new A; // chama construtor de a3 // chama destrutor de a2 delete a3; // chama destrutor de a3 // chama destrutor de a1 11
12 Exemplo: classe stack class Stack int top; int elems[max]; Stack( ) top = EMPTY; void push(int i) elems[++top]=i; int pop(void) return elems[top--]; int empty(void) return top == EMPTY; ; int main( ) Stack s; s.push(43); int main( ) Stack* s; s = new Stack; s->push(43); Construtores com parâmetros No exemplo da classe stack o cliente da classe poderia querer definir um objeto pilha com uma dimensão maior do que 50: class Stack int top; int size; char *s; Stack( ) top = EMPTY; size = max_len; s = new char[size]; Stack( int n ) // sobrecarga do construtor int main( ) top = EMPTY; size = n; s = new char[size]; Stack s1; Stack s2(2000); ~Stack( ) delete [] s; Stack *s3 = new Stack; ; Stack *s4 = new Stack(2000); 12
13 Construtores gerados automaticamente O fato de algumas classes não declararem construtores não significa que elas não tenham construtores. Na realidade o compilador gera dois construtores automaticamente, um default e um de cópia. Considere uma classe X: class X int a; class X int a; // X() // X(const X&); construtor vazio construtor cópia void main() X a1; // usa construtor vazio X a2(a1); // usa construtor de cópia X a3 = a2; // usa construtor de cópia Construtor de cópia Dependendo dos tipos dos atributos de uma classe, é necessário implementar explicitamente um construtor de cópia. Exemplo: class Stack int top; char *s; Stack( ); Stack( int n ); ; int main( ) stack s1(50); stack s2 = s1; ERRO! Stack::Stack( const Stack& t ) this->size = t.size; this->top = t.top; s = new char[this->size]; for(int i=0; i<top; ++i) this->s[i] = t.s[i]; 13
14 Métodos const Métodos const são métodos que não alteram o estado interno de um objeto. A especificação const faz parte da declaração do método: class A int value; int get ( ) return value; void put(int v) value = v; ; void f(const A a) // parâmetro a não pode ser modificado. // quais métodos de a podem ser chamados??? int b = a.get(); // Erro! método não é const Para eliminar o erro seria necessário declarar o método get como sendo const: class A int get const( ) return value; ; This Em todo método não static (depois) a palavra reservada this é um ponteiro para o objeto sobre o qual o método está executando. Todos os métodos de uma classe são sempre chamados associados a um objeto. Durante a execução de um método, os campos do objeto são manipulados normalmente, sem necessidade de referência ao objeto. A palavra this é utilizada quando se necessita manipular o próprio objeto sobre o qual o método foi chamado. 14
15 This - Exemplo class A int i; A& inc( ); ; // Este método incrementa o valor interno // e retorna o próprio objeto A& A::inc() // estamos executando este código para obj1 ou obj2? // como retornar o próprio objeto? i++; return *this; // this aponta para o próprio objeto void main() A obj1, obj2; obj1.i = 0; obj2.i = 100; for (j=0; j<10; j++) printf( %d\n, (obj1.inc()).i); Campos de classe static Quando uma variável é declarada static dentro de uma classe, todas as instâncias de objetos desta classe compartilham a mesma variável. Uma variável static é uma variável global, só que com escopo limitado à classe. A declaração de um campo static aparece na declaração da classe, junto com todos os outros campos. Como a declaração de uma classe é normalmente incluída em vários módulos de uma mesma aplicação via header files (arquivos.h), a declaração dentro da classe é equivalente a uma declaração de uma variável global extern. A declaração apenas diz que a variável existe; algum módulo precisa defini-la. 15
16 Campos static -Exemplo class A int a; static int b; // declara a variável, // equivalente ao uso de extern para // variáveis globais ; int A::b = 0; // define a variável criando o seu espaço // esta é a hora de inicializar void main(void) A a1, a2; a1.a = 0; // modifica o campo a de a1 a1.b = 1; // modifica o campo b compartilhado por a1 e a2 a2.a = 2; // modifica o campo a de a1 a2.b = 3; // modifica o campo b compartilhado por a1 e a2 printf( %d %d %d %d, a1.a, a1.b, a2.a, a2.b); // imprime Como uma variável estática é única para todos os objetos da classe, não é necessário um objeto para referenciar este campo: A::b = 4; Métodos static Métodos static são como funções globais com escopo reduzido à classe. Isto significa que métodos static não apresentam o parâmetro this, ou seja, apenas os campos static podem ser acessados. class A int a; static int b; static void f(); ; int A::b = 10; void A::f() a = 10; // errado, a só faz sentido com um objeto b = 10; // ok, b declarado static 16
Tipos Abstratos de Dados (TAD)
Tipos Abstratos de Dados (TAD) Módulos e Compilação em Separado Um programa em linguagem C/C++ pode ser dividido em vários arquivos fontes com extensão c/cpp. Módulo: arquivo que implementa funções que
C com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
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
Introdução a POO. Introdução a Linguagem C++ e POO
Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes
Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno
Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Visibilidade de membros Membro da classe derivada pode usar os membros públicos ( public ) e protegidos ( protected ) da sua classe base (como
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
Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
13/11/15. Incrementando C: C++ E na especificação de BigInt... Arquitetura da solução exemplo. O arquivo de declarações. Explorando a classe BigInt
Incrementando C: permite: Definir uma classe para números grandes; Manter o código bem parecido com o programa C. O mesmo programa em C (e até mesmo em Java) não são tão convenientes e elegantes. #include
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 [email protected] Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
Técnicas de Programação:
Técnicas de Programação: Programação Orientada a Objeto PROF. PROTÁSIO DEE-UFPB Classes e Objetos Classe É uma estrutura de dados que pode conter: Objeto Dados, e Funções. É uma instância de uma classe.
Classes e Objetos. Prof. Leonardo Barreto Campos 1
Classes e Objetos Prof. Leonardo Barreto Campos 1 Sumário Introdução; Escopo de Classe e Acesso a Membros de Classes; Exercício; Os Métodos get e set; Separação de Interface e Implementação; Construtores
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
POO e C++: Herança e Polimorfismo
POO e C++: Herança e Polimorfismo Márcio Santi Luiz Fernando Martha Conceito de Herança em POO Recurso que torna o conceito de classe mais poderoso; Permite que se construa e estenda continuamente classes
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
Programação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Classes e Objetos (Continuação) Empacotador de Pré-processador
Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN
Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação
Parte IV. Linguagens de Programação. Relembrando da Última Aula... Empacotador de Préprocessadores. Primeiro Exemplo Usando Classes em C++
Linguagens de Programação Parte IV Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Introdução à Programação (Continuação) Relembrando da Última Aula... Ponteiros e strings Mais exemplos
Paradigmas de Linguagens de Programação. Tipos de Dados Abstratos
Tipos de Dados Abstratos Cristiano Lehrer Conceito de Abstração O conceito de abstração é fundamental em programação. Quase todas as linguagens suportam abstração de processos, através de subprogramas:
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
Descrição de recursos de C++ não relacionados às classes
Capítulo 2a Descrição de recursos de C++ não relacionados às classes Comentários O primeiro recurso apresentado é simplesmente uma forma alternativa de comentar o código. Em C++, os caracteres // iniciam
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
Linguagem de Programação C++
Exercício: Linguagem de Programação C++ Construa o diagrama de classes UML para as classes envolvidas na solução do exercício do slide 253. 267 Sobrecarga Linguagem de Programação C++ Neste exercício vimos
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
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 [email protected] Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
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
Ponteiros de Variáveis
Ponteiros de Variáveis C++ permite o armazenamento e a manipulação de valores de endereços de memória. Para cada tipo existente, há um tipo ponteirocapaz de armazenar endereços de memória em que existem
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 [email protected] Objetos
Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.
2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam
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
Programação Orientada a Objetos
1 Programação Orientada a Objetos A linguagem C, desde a sua primeira especificação, vem sendo desenvolvida com várias extensões. De uma dessas extensões foi criada a Linguagem C++ onde encontramos diversas
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
Java First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla.
Java First-Tier: plicações Orientação a Objetos em Java (III) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Herança: Simples Múltipla O tipo de herança que usamos até agora é chamado
Programação Orientada a Objetos
Programação Orientada a Objetos Aula VIII Prof. Felício Bruzzi Barros Maio de 2008 Sobrecarga de operadores matriz A, B, C, D; multiplica(a,b,c); soma(a,b,d); escreve(d); matriz A, B, C, D; C=A*B; D=A+B;
Programação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 3 Abstração Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno
Programação Estruturada e Orientada a Objetos. Objetos e Métodos
Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;
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
Uma função pode ser declarada como friend de mais do que uma classe.
FUNÇÕES FRIEND Em C++ temos a possibilidade de quebrar o encapsulamento que a Programação Orientada para Objecto cria e de que tanto se orgulha. Essa facilidade traduz-se por funções e classes friend.
Aprendendo. Java 2. Rodrigo Mello Ramon Chiara Renato Villela. Novatec Editora Ltda.
Aprendendo Java 2 Rodrigo Mello Ramon Chiara Renato Villela Novatec Editora Ltda. www.novateceditora.com.br 1 Programação Orientada a Objetos O que é Programação Orientada a Objetos? É um paradigma de
Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
Declaração de Construtores em Java
Programando com Java Artigo http://mballem.wordpress.com/ Declaração de Construtores em Java Para que serve e como usar um Construtor em Java Autor Marcio Ballem: é formado em Sistemas de Informação e
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
LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):
Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Introdução a Programação. Tipos Estruturados de Dados
Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados
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
Programação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador
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
1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador.
1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador. 1) Fila 2) Pilha 3) Árvore 4) Lista 5) Grafo 2. Selecione a Estrutura de Dados que melhor representa
Métodos Computacionais. Funções, Escopo de Variáveis e Ponteiros
Métodos Computacionais Funções, Escopo de Variáveis e Ponteiros Tópicos da Aula Hoje vamos detalhar funções em C Escrevendo funções Comando return Passagem de argumentos por valor Execução de uma função
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Alocação Dinâmica de Memória
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Alocação Dinâmica de Memória Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática e Dinâmica Na alocação estática, o espaç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
Programação orientada a objetos
Programação orientada a objetos Neste capítulo: conceitos-chave que caracterizam as linguagens de programação orientadas a objetos; pragmática da programação orientada a objetos; o projeto de duas importantes
C++ Orientado a Objetos
[email protected] [email protected] a@comp org 1 Declaração As variáveis em C++ podem ser de duas diferentes naturezas Uma variável pode conter um VALOR ou um ENDEREÇO VALOR A declaração de uma
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
C++ - Funções. Forma geral das funções C++
C++ - Funções Conjunto de instruções para executar uma tarefa particular, agrupadas numa unidade com um nome para referenciá-las. O código é agregado ao programa uma única vez e pode ser executado muitas
E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O
E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O REVIEW CLASSES E INSTÂNCIAS. REVIEW - O OPERADOR THIS This faz referencia a métodos e atributos da própria classe REVIEW - EXEMPLO
LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO
ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO SOBRECARGA DE OPERADORES (C++) A sobrecarga de operadores ocorre quando desejamos utilizar operadores jáj conhecidos (+,-,*,/,=,+=...)
Módulo 5 Vetores e Alocação Dinâmica
Estruturas de Dados Módulo 5 Vetores e Alocação Dinâmica 1/9/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora
ALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória
ALGORITMOS E ESRUTRA DE DADOS I Ponteiros Passagem por Valor e Referência Alocação de Memória 2 Agenda Ponteiros Conceitos gerais O que é Ponteiro? Declaração de Ponteiros Operadores para Ponteiros Exemplos
Programação Orientada a Objetos C++
Programação Orientada a Objetos em C++ Sumário Histórico Comparação com Java Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Histórico Desenvolvido por Bjarne Stroustrup dos Bell Labs
PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO
COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA
