Conceitos Básicos da Programação OO

Documentos relacionados
Atributos e Métodos Estáticos

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

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

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

Linguagem de Programação III

Linguagem de Programação II Implementação

Programação Orientada a Objetos

Herança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

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

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

Sintaxe Básica de Java Parte 2

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Encapsulamento de Dados

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

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Sobreposição de Métodos

Linguagem de Programação III

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Análise de Programação

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Classes e Objetos. Sintaxe de classe em Java

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Programação Orientada a Objetos em Java

AULA 6 - ARRAYS. Array de 10 elementos

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Classes e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

COMPORTAMENTOS - Observações

Introdução a Programação. Tipos Estruturados de Dados

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Programação Orientada a Objetos

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

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

Lição 7 Array em Java

Programação I 2º Bimestre (material 1)

Instituto de Informática Estrutura de Dados II

Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Classes e Objetos POO

Visibilidade e Encapsulamento

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.

Lição 11 Herança, polimorfismo e interfaces

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.

Classes e Objetos. Prof. Leonardo Barreto Campos 1

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Construtores e Especificadores de Acesso

Array em Java. Figura 1 - Exemplo de um array de inteiros

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

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

UNIFEI Disciplina Professor

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Orientação a Objetos e Java

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

Programação Orientada a Objetos (DPADF 0063)

PROGRAMAÇÃO I INTRODUÇÃO À ORIENTAÇÃO A OBJETOS II

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Tratamento de Exceções

Curso: Técnico em Informática Integrado Disciplina: POO Carga horária: 60h Período: 2º Ano Professor: Edmilson Barbalho Campos Neto LISTA 02.

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

OO - Orientação a Objetos

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Programação Orientada a Objetos

9 Classes Abstractas e Interfaces

MULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci

Aula 3 POO 1 Classe e Objeto. Profa. Elaine Faria UFU

mos também representar entidades imaginárias, tais como um evento de pressionar o mouse no ambiente Windows.

Estrutura de Dados Funções e Procedimentos

Computação II Orientação a Objetos

Técnicas de Programação:

Introdução ao Java. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

POO fundamentos Parte II. Professor Vicente Paulo de Camargo

Programação Orientada a Objetos II

Algoritmos II Aula 2 Vetores

Namespaces, Classes e Métodos.

Interfaces POO. Prof. Marcio Delamaro

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

Classes, Métodos e Propriedades

Classe. Objeto é uma instância de uma classe. Classe é onde conceituamos o objeto É a essência do objeto Define os atributos e métodos

AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

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

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Vetores Unimensionais

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

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

Especialização em Engenharia de Software

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Classes, instâncias e métodos de acesso. prática

3. Para a classe Circulo abaixo, escreva os métodos indicados pelos dois primeiros comentários.

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

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Transcrição:

Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira

Objetivos Aprender os principais conceitos relacionados a Programação Orientada a Objetos (POO). Aplicar os conceitos aprendidos na linguagem Java, mostrando vários exemplos de código. Programação Orientada a Objetos - Márcio Bueno 2

Introdução Programação Imperativa x Programação OO Programação Imperativa modularização dos programas baseada nas funções que um sistema vai oferecer ao usuário. Programação Orientada a Objetos modularização dos programas baseada na definição dos objetos (dados) a serem manipulados pelo sistema e, em seguida, das atividades que os objetos poderão realizar. Programação Orientada a Objetos - Márcio Bueno 3

Conceitos Básicos Classe Tipo de dado que agrupa um conjunto de variáveis (atributos) e funções (métodos) que podem realizar ações sobre as variáveis. Atributos São as propriedades ou características de uma classe. É a informação contida nos atributos que diferencia os objetos. Programação Orientada a Objetos - Márcio Bueno 4

Conceitos Básicos Métodos São as operações (funções) que um objeto pode realizar. Os métodos podem ser usados para: Apresentar ou alterar o valor de um atributo do objeto; Expor as funcionalidades que um objeto pode oferecer. Objetos São representações reais de uma classe. Também são conhecidos como instâncias da classe Programação Orientada a Objetos - Márcio Bueno 5

Conceitos Básicos Em Java, de uma forma geral, classes e atributos são especificados da seguinte forma: /* classe */ public class NomeDaClasse{ // Corpo da classe /* atributo */ <tipo> nomeatributo [= valorinicial]; Programação Orientada a Objetos - Márcio Bueno 6

Conceitos Básicos Exemplo: public class Pessoa { int idade = 0; String nome; boolean casado; Note também que podemos especificar que um atributo será inicializado com um valor específico. Neste exemplo, o atributo idade é inicializado com 0 toda vez que for criado um objeto da classe Pessoa. Programação Orientada a Objetos - Márcio Bueno 7

Conceitos Básicos De uma forma geral, métodos são definidos da seguinte forma: <TipoRetorno> nomemetodo (<Parâmetros>) { // Corpo do método Onde Parâmetros: <tipoparam> <nomeparam>,... Programação Orientada a Objetos - Márcio Bueno 8

Conceitos Básicos Exemplo: public class Circulo { double raio; double comprimento( ) { return ( 2 * 3.14 * raio); double area( ) { return (3.14 * raio * raio); Para descobrir que métodos devemos implementar, podemos fazer a seguinte questão: Quais as operações típicas realizadas sobre um círculo? Programação Orientada a Objetos - Márcio Bueno 9

Construtor Além de métodos e atributos, a definição de uma classe também inclui a implementação de construtores. Construtores são métodos especiais utilizados para inicializar objetos, podendo inicializar os valores dos seus atributos. Não apresentam um tipo de retorno explícito e possuem o mesmo nome da classe. Cada classe pode ter um ou mais construtores sobrecarregados (overloading - sobrecarga), variandose na quantidade e no tipo dos parâmetros fornecidos. Programação Orientada a Objetos - Márcio Bueno 10

Construtor Exemplos: /* Construtor default */ Circulo ( ) { raio = 2; /* Construtor com argumento */ Circulo(double r) { raio = r; Programação Orientada a Objetos - Márcio Bueno 11

Construtor Criando um objeto 1.Escrever uma aplicação que declara uma variável do tipo de dado (classe) que se deseja criar um objeto. 2.Inicializar a variável com uma chamada ao construtor da classe usando a palavra-chave new. OBS: A aplicação de new pode ser comparada a chamada de funções de alocação de memória em C, tal como malloc. Programação Orientada a Objetos - Márcio Bueno 12

Construtor Criando um objeto Exemplo 1: public class Exemplo { public static void main(string[] args) { System.out.println("Criando objetos..."); Circulo c1, c2, c3; c1 = new Circulo(); c2 = new Circulo(5); c3 = new Circulo(2); System.out.println("Objetos criados!"); Programação Orientada a Objetos - Márcio Bueno 13

Construtor Destruindo um Objeto Ao contrário de linguagens como C que precisam liberar memória explicitamente através de comandos como o free( ), em Java não é necessário preocupar-se com isso. A liberação de memória é feita de forma automática pelo coletor de lixo. Objetos que não estão mais sendo utilizados ou referenciados por variáveis do programa têm seu espaço de memória liberado. Programação Orientada a Objetos - Márcio Bueno 14

Construtor public class Exemplo { Criando um objeto Exemplo 2: public static void main(string[] args) { System.out.println("Criando objetos..."); Circulo c1, c2; c1 = new Circulo(); c1 = new Circulo(5); c2 = c1; c2 = new Circulo(10); System.out.println("Objetos criados!"); Programação Orientada a Objetos - Márcio Bueno 15

Palavra-Chave this this refere-se a um objeto. Pode ser usado para indicar que os atributos ou métodos que estão sendo acessados pertencem ao próprio objeto. É muito útil para diferir os atributos da classe em relação aos parâmetros e variáveis locais de um método. Programação Orientada a Objetos - Márcio Bueno 16

Palavra-Chave this Exemplos: /* Construtor */ Circulo(double raio) { this.raio = raio; /* Método */ double area( ) { double valorarea = 0; valorarea = 3.14 * this.raio * this.raio; return valorarea; Programação Orientada a Objetos - Márcio Bueno 17

Acessando Atributos Para acessar atributos de um objeto, utiliza-se o nome do objeto (e não da classe), seguido do caractere ponto (.), mais o nome do atributo que deseja-se acessar. Sintaxe: objeto.nomeatributo Programação Orientada a Objetos - Márcio Bueno 18

Acessando Métodos A sintaxe utilizada para acionar métodos do objeto é idêntica a sintaxe utilizada para acessar os atributos. Sintaxe: objeto.nomemetodo( ) Programação Orientada a Objetos - Márcio Bueno 19

Acessando Atributos e Métodos Exemplo: public class Exemplo { public static void main(string[] args) { Circulo c1; c1 = new Circulo(5); double r = c1.raio; double a = c1.area(); System.out.println("Raio de c1 = " + r); System.out.println("Área de c1 = " + a); c1.raio = 10; System.out.println("Raio de c1 = " + c1.raio); System.out.println("Área de c1 = " + c1.area( )); Programação Orientada a Objetos - Márcio Bueno 20

Conceitos Básicos Exercício 1: Implementar a classe Quadrado com as seguintes definições: O atributo lado; Dois construtores, sendo um deles default. O método double area( ); O método double comprimento( ); O método void desenha( ); Implementar a aplicação AplicacaoQuadrado que cria um objeto do tipo Quadrado, a partir do lado informado pelo usuário, e imprime o desenho do quadrado, o valor da sua área, comprimento e lado. Programação Orientada a Objetos - Márcio Bueno 21

Conceitos Básicos Exercício 2: Implementar a classe TrianguloRetangulo com as seguintes definições: Os atributos base, altura e hipotenusa; Dois construtores, sendo um deles default. O método double area( ); O método double comprimento( ); Implementar a aplicação AplicacaoTriangulo que cria um objeto do tipo TrianguloRetangulo, a partir de valores informados pelo usuário, e imprime o valor da sua área, comprimento e atributos. Programação Orientada a Objetos - Márcio Bueno 22