Introdução à Programação Orientada a Objetos em C++

Documentos relacionados
Programação Orientada a Objetos em C++: introdução à herança

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

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos

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

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

Programação Orientada a Objetos para Redes de Computadores

Linguagem de Programação III

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

Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença

Programação Orientada a Objetos para Redes de Computadores

C com introdução a OO

Linguagem de Programação C++

Técnicas de Programação:

Curso de Programação C em Ambientes Linux Aula 04

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Empacotador de Préprocessadores. Primeiro Exemplo Usando Classes em C++

Classes e Objetos. Sintaxe de classe em Java

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

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

Revisão C++ - Parte 1

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.

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

Linguagem C Princípios Básicos (parte 1)

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Programação Orientada a Objetos

Linguagem C. André Tavares da Silva.

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Algoritmos II prof. Daniel Oliveira

A programação orientada a objetos tenta simular estes aspectos, trazendo para o computador a realidade do dia-a-dia.

Classes e Objetos. Prof. Leonardo Barreto Campos 1

3. Linguagem de Programação C

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

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

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

ITENS FUNDAMENTAIS Programando em C++

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Modelo de plano analitico

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN

Introdução à Linguagem C++

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

Computação Eletrônica. Aula 08 Estruturas de Dados. Prof: Luciano Barbosa. CIn.ufpe.br

Programação Orientada a Objetos JAVA - NETBEANS

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 de programação Programação Orientada a objetos

Conceitos Básicos da Programação OO

Programação Orientada a Objetos para Redes de Computadores

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

Estrutura de Dados. Cadeia de Caracteres. Roberto Araujo Ago/2013

Linguagem de Programação C++ Se analisarmos a manipulação do objeto c, efetuada no exercício anterior, e compararmos com o que acontece em um banco

Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

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

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void

Programação Orientada a Objetos II

Algoritmos e Programação

JAVA. Professor: Bruno Toledo

Programação Orientada a Objetos para Redes de Computadores

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

Modularidade - Funções e Procedimentos

1/50. Conceitos Básicos. Programa Básico

Linguagem de Programação III

Introdução à Programação

Programação Orientada aos Objectos I

Introdução à Linguagem C

Ponteiros de Variáveis

Transcrição:

Introdução à Programação Orientada a Objetos em C++ Disciplina de Programação Científica II Aula 12 de 18 24/05/2013 Professor Giovani Gracioli giovanig@gmail.com

Objetivos Os objetivos dessa aula são: Introduzir C++ C melhorado, com mais funcionalidades e orientação a objetos (OO) Apresentar os conceitos de classes e objetos Explicar como criar classes e objetos em C++ Demonstrar como utilizar as classes e objetos criados em C++

Competências Necessárias Para esta aula, vocês precisarão: Entender a linguagem de programação C e noções de programação Conteúdo relacionado às aulas anteriores e computação científica I

Competências a Desenvolver Com essa aula, você aprenderá: Usar E/S em C++ A definir uma classe e usá-la para criar um objeto A definir funções-membro e declarar atributos de uma classe A chamar as funções-membro para realizar uma tarefa A usar construtor de uma classe para inicializar os dados de um objeto quando ele é criado

Conteúdo

C++ (1) C++ aperfeiçoa muitos dos recursos da linguagem em C e oferece recursos de programação orientada a objeto (OOP Object-Oriented-Programming), que aumentam a produtividade, a qualidade e as chances de reutilização do software C++ foi desenvolvida por Bjarne Stroustrup, na Bell Laboratories, e originalmente foi chamada de C com classes. O nome C++ inclui o operador de incremento da linguagem em C (++) para indicar que a linguagem C++ é uma versão melhorada de C

C++ (2) Os nomes de arquivo em C possuem a extensão.c (minúscula) Os nomes de arquivo em C++ podem ter várias extensões, como.cpp,.cxx, ou.cc C++ suporta muitos dos comandos de C Usaremos a extensão.cc while, for, if, switch, do..while, etc.. E os tipos também int, float, double, struct, enum, ponteiros, etc.. Entretanto, o uso de bibliotecas é diferente.. exemplo..

C++: exemplo de E/S

Entrada e Saída (1) A linha 9 usa o objeto de stream de saída-padrão std::cout e o operador de inserção de stream, <<, para exibir a string Digite o primeiro inteiro: " A saída e a entrada em C++ são feitas com streams de caracteres Assim, quando a linha 9 é executada, ela envia o stream de caracteres "Digite o primeiro inteiro: " para std::cout, que normalmente está conectado à tela A linha 10 usa o objeto de stream de entrada-padrão std::cin e o operador de extração de stream, >>, para obter um valor do teclado

Entrada e Saída (2) Saída em cascata std::cout << A soma é " << number1 + number2 << std::endl; OU std::cout << A soma é " << number1 + number2 << \n ;

Biblioteca padrão de C++

Sobrecarga de funções (1) C++ permite a definição de várias funções com o mesmo nome, desde que essas funções tenham diferentes conjuntos de parâmetros (pelo menos em se tratando dos tipos de parâmetro, do número de parâmetros ou da ordem dos parâmetros) Essa capacidade é chamada de sobrecarga de função. Quando uma função sobrecarregada é chamada, o compilador C++ seleciona a função apropriada examinando o número, os tipos e a ordem dos argumentos na chamada A sobrecarga de função normalmente é usada para criar várias funções com o mesmo nome que realizam tarefas semelhantes, mas em dados de diferentes tipos

Sobrecarga de funções (2)

Sobrecarga de funções (3)

Introdução a Classes e Objetos Até agora vimos um pouco do que C++ oferece Entretanto, ainda não vimos os dois principais conceitos que fazem parte de uma linguagem orientada a objetos: Classes e Objetos Normalmente, os programas que você desenvolverá em C++ consistirão na função main e em uma ou mais classes, cada uma contendo dados-membro e funções-membro.

Classes, objetos, funções-membro e dados-membro (1) Analogia simples: suponha que você queira dirigir um carro mais rápido pisando no acelerador Antes de mais nada, o carro precisa ser projetado e construído O pedal oculta os mecanismos complexos que fazem com que o carro acelere, o volante oculta os mecanismos que fazem o carro fazer as curvas Isso permite que pessoas que não conheçam o funcionamento do automóvel o dirijam com facilidade, simplesmente usando os pedais, volante, freio, e outras interfaces simples e amigáveis do carro

Classes, objetos, funções-membro e dados-membro (2) Em C++, classes são utilizadas para abrigar uma função, assim como os desenhos de eng. abrigam o projeto do pedal do acelerador A função que pertence a uma classe é chamada de função-membro ou método Que realizam as tarefas das classes Assim como você não pode dirigir um desenho de eng., também não pode dirigir uma classe É necessário criar um objeto da classe Muitos objetos podem ser criados a partir da mesma classe (assim como muitos carros são construídos do mesmo desenho)

Classes, objetos, funções-membro e dados-membro (3) Ao pisar no pedal do acelerador, uma mensagem é enviada ao sistema que controla a velocidade do carro De modo semelhante, mensagens são enviadas ao objetos (chamada de função-membro) Solicitação de um serviço de um objeto

Classes, objetos, funções-membro e dados-membro (4) Além das funcionalidades que o carro oferece, ele também possui diversos atributos, como cor, portas, km percorridos, etc Esses atributos são representados também no projeto do carro Cada carro mantém seus próprios atributos De modo semelhante, um objeto tem atributos que são carregados com ele enquanto ele existir Esses atributos ou dados-membro são especificados como parte da classe do objeto

Exemplo de criação de classe

Definição de uma classe com uma função-membro (1) Normalmente, você não pode chamar uma função-membro de uma classe até que crie um objeto dessa classe (linha 21 mygradebook) O tipo da variável é GradeBook É um tipo definido pelo usuário A linha 22 chama a função-membro displaymessage usando a variável mygradebook seguida pelo operador ponto (.) Cada classe criada se torna um novo tipo que pode ser usado na criação de objetos Isso faz com que displaymessage realize sua tarefa

Definição de uma função-membro com um parâmetro (2)

Definição de uma função-membro com um parâmetro (3)

Atributos, métodos set e get (1) Variáveis declaradas no corpo das funções são conhecidas como variáveis locais Atributos de um objeto são representados como variáveis em uma definição de classe Precisa ser declarada antes do seu uso, não pode ser acessada fora da função, e são destruídas quando a função termina São declarados dentro de uma definição de classe, mas fora dos corpos das definições dos métodos Métodos manipulam os atributos que pertencem a um objeto Cada objeto mantém sua própria cópia de seus atributos na memória

Atributos, métodos set e get (2)

Atributos, métodos set e get (3)

Inicialização de objetos com construtores (1) Cada classe que você declarar pode fornecer um construtor que poderá ser usado para inicializar um objeto da classe quando o objeto for criado Um construtor é um método especial que deve ser definido com o mesmo nome da classe, para o compilador distingui-lo dos outros métodos Construtores não podem retornar valores (sem tipo de retorno) Normalmente, os construtores são declarados como public

Inicialização de objetos com construtores (2) C++ requer uma chamada ao construtor para cada objeto criado, o que ajuda a garantir que cada objeto seja inicializado antes de ser usado A chamada ocorre implicitamente quando o objeto é criado Se uma classe não incluir explicitamente um construtor, o compilador oferecerá um construtor padrão ou seja, um construtor sem parâmetros

Inicialização de objetos com construtores (3)

Inicialização de objetos com construtores (4)

Finalizando

Revisão Uma classe é formada por um conjunto de funções-membro ou métodos que realizam uma tarefa específica Cada função-membro pode manipular os dadosmembro ou atributos da classe Cada objeto possui os seus atributos próprios Acessados pelos métodos set e get Construtores são chamados para inicializar os objetos antes de serem utilizados

Sugestões Finais Resolvam a lista de exercícios da aula (disponível no ambiente EAD) Só se aprende a programar, programando Dúvidas sobre os exercícios podem ser enviadas por email

Referências Bibliográficas Paul Deitel e Harvey Deitel, C: como programar, 6a edição, Ed. Prentice Hall Brasil, 2011. Paul Deitel e Harvey Deitel, C++: como programar, 5a edição, Ed. Prentice Hall Brasil, 2006. Antonio Filho, Introdução à Programação Orientada a Objetos com C++, 1a edição, Ed. Campus, 2010.