0% acharam este documento útil (0 voto)
19 visualizações17 páginas

Programaçã0 2 - Aula 1 - Introdução Classes e Objectos

O documento aborda os fundamentos da Programação Orientada a Objetos (POO), incluindo conceitos de classes, objetos e métodos, além de discutir suas vantagens e desvantagens. Ele também explora a linguagem C#, destacando a importância de namespaces e a definição de atributos e métodos em classes. Um exemplo prático de implementação de uma classe 'Pessoa' em C# é apresentado para ilustrar os conceitos discutidos.

Enviado por

germanosorte90
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
19 visualizações17 páginas

Programaçã0 2 - Aula 1 - Introdução Classes e Objectos

O documento aborda os fundamentos da Programação Orientada a Objetos (POO), incluindo conceitos de classes, objetos e métodos, além de discutir suas vantagens e desvantagens. Ele também explora a linguagem C#, destacando a importância de namespaces e a definição de atributos e métodos em classes. Um exemplo prático de implementação de uma classe 'Pessoa' em C# é apresentado para ilustrar os conceitos discutidos.

Enviado por

germanosorte90
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 17

Universidade de Belas

Faculdade De Engenharia
Curso De Engenharia Informática
2º Semestre
2º ano

Programação II

Introdução a Programação Orientada a Objecto


- Classes e Objectos
- Métodos
O Docente
MSc. Joaquim Ulisses Pitra Dias
1
Contactos: Telf-923587007; Wtsp- 923 58 70 07
Objectivos
• Geral
• Compreender os fundamentos de programação orientada a objecto (POO).
• Específicos
• Revisar os conceitos de paradigmas de programação
• Definir POO
• Conhecer os pilares de POO
• Compreender o conceito de Classes e objectos

2
Como surgiu o paradigma de orientação a
objecto
Linguagem de máquina
linguagem de máquina ou Assembly
Programação estruturada
Final da década de 50
Programação modular
Actualização natural da programação estruturada
conceito de sub-rotinas
Programação Orientada a Objecto
Unidades de software chamadas de objectos

3
Programação orientada a objecto
O que é POO?
• É um paradigma de programação
• Trabalha com objectos e interacção entre eles
• Outra terminologia: Modelagem orientada a objecto

4
Principais vantagens da POO
• Confiabilidade
• Rápido desenvolvimento
• Facilidade de manutenção
• Facilidade em criar novas versões de aplicativos
• Reusabilidade (Reutilização)

Porém….
• Peso
• Mais esforço na modelagem

5
Conceitos básicos da linguagem C#
Namespaces
Os namespaces são usados no C# para organizar e prover um nível de separação de
código fonte. Considerá-se como um “container” que comporta outros namespaces,
classes, interface e outros elementos.
Normalmente um namespace pode conter os seguintes membros:

• Classes
• Interfaces
• Estruturas
• Delegates

A principal funcionalidade do namespace é de fato organizar o projecto.


6
O namespace nos ajuda a organizar diferentes tipos de membros que estão relacionados
no mesmo lugar. Uma ou mais classe podem conter o mesmo nome, porém devem estar
em namespaces diferentes. Se criarmos duas classes com o mesmo nome dentro do
mesmo projecto, por exemplo, teremos um erro de compilação pois teremos um conflito
de nomeação

7
Classes e Objectos
Os fundamentos dos tipos de dados primitivos que são intrínsecos ao C#,
tais como int, double, float, bool, etc., sustentam a programação
estruturada, estenderam-se e permitiram aos que programadores
definirem os seus próprios tipos de dados, criando-se a essência da
programação orientada a objectos (POO).

Desta forma, os programadores podem definir tipos de dados – classes-,


que encapsulam atributos e funcionalidades e dão origem a novos tipos de
variáveis.

Os programas orientados a objectos são conjuntos de classes.


Os objectos são instâncias das classes e interagem entre si.

8
Classes e Objectos
Classe
Uma classe é uma estrutura de dados que define, em abstracto, os atributos e as
funcionalidades de uma família de objectos.

Por exemplo, DISCIPLINA é uma classe que representa genericamente todas as


disciplinas académicas e tem atributos tais como o código, a designação, o curso a que
pertence, o número de unidades de crédito, a sinopse e o conteúdo programático, bem
como funcionalidades que permitem determinar ponderação da disciplina na
classificação final do curso, o rácio do custo da disciplina por cada aluno inscrito a
média classificativa, etc.

Matemática pode ser, por exemplo, uma concretização da classe DISCIPLINA,


contendo todos os atributos e funcionalidades definidos naquela classe
9
Classes e Objectos
Os atributos ou propriedades são dados de diversos tipos primitivos, ou de tipos definidos
pelo utilizador, que caracterizam os objectos de uma classe. As funcionalidades são
funções ou procedimentos que se designam por métodos e implementam as operações
que esses objectos podem executar.

10
Variáveis de instante e variáveis estáticas
Os atributos ou propriedade dos objectos são variáveis de instante. A atribuição de
valores ou a leitura dos seus valores têm de ser feitas através do respectivo objecto.

Porém, as classes podem também conter variáveis


Estáticas, isto é, variáveis que fazem parte da
classe, mas que não se referem aos objectos.

11
Variáveis públicas, privadas e protegidas
Tanto as variáveis de instante como as variáveis estáticas podem ser public, private,
protected, internal ou protected internal, consoante o seu âmbito de atuação ou a sua
visibilidade.
Exemplo:
Private int Código
Public String nome
Protected Static int quantidade

• Public – As variáveis deste tipo são manipuláveis por qualquer método de qualquer classe, isto
é, os seus valores podem ser lidos, alterados ou escritos por qualquer método de qualquer
classe;
• Protected – As variáveis deste tipo são manipuláveis por qualquer método da classe que as
criou ou de qualquer classe que derive desta;
• Private – As variáveis deste tipo só são manipuláveis pelos métodos da classe que as criou, isto
é, os seus valores só podem ser lidos ou alterados pelos métodos da sua própria classe 12
Métodos
As classes definem métodos que implementam as funcionalidades dos objectos.
Um método é uma função ou procedimento cuja assinatura tem o seguinte
formato:
• Âmbito ou visibilidade;
• Palavra reservada static se o método for estático;
• Parâmetro de saída se o método for uma função ou void se o método for um
procedimento;
• Nome do método;
• Lista de parâmetros de entrada

13
Métodos de instante e métodos estáticos
Os métodos de instante definem funcionalidades dos objectos, portanto, só podem
ser invocados se forem associados aos respectivos objectos
Exemplo:
public int Ponderacao(int W){
return (int) Math.Round(4/W * UC, 0)
}
Os métodos estáticos são aqueles que fazem parte da classe, mas que não se referem aos objectos.
Por exemplo, uma classe pode conter métodos para atribuir valores ou imprimir os valores das
variáveis estáticas.
Exemplo:
Considerando ContarDisciplina
public static int LerContador(){
como sendo uma vairável estática
return ContaDisciplinas
}

Invocação dos métodos de instantes e estáticos


Console.WriteLine(B.Ponderacao()); Onde B é um objecto e Disciplina
Console.WriteLine(Disciplina.ImprimeContador()); é uma Classe 14
Exemplo prático
A baixo segue um um exemplo de código em C# criando uma classe com atributos e métodos, e em seguida a criação do
objecto dessa classe:

Ficheiro a ser entregue pelo professor

•Classe Pessoa: Contém dois atributos (ou propriedades) Nome e Idade, um construtor que
inicializa esses atributos e dois métodos: ExibirInformacoes() (que imprime os dados) e
FazerAniversario() (que aumenta a idade e imprime uma mensagem).
•Main: Cria um objecto da classe Pessoa chamado pessoa1, inicializa com um nome e idade, e
chama os métodos para exibir e actualizar as informações.
15
namespace ExemploClasse
{
// Definindo a classe 'Pessoa'
class Pessoa
{
// Atributos (propriedades)
public string Nome { get; set; }
public int Idade { get; set; }

// Construtor
public Pessoa(string nome, int idade)
{
Nome = nome;
Idade = idade;
}

// Método para exibir informações da pessoa


public void ExibirInformacoes()
{
Console.WriteLine("Nome: {Nome}");
Console.WriteLine("Idade: {Idade} anos");
}

// Método para fazer aniversário


public void FazerAniversario()
{
Idade++;
Console.WriteLine("{Nome} agora tem {Idade} anos!");
} 16
}
Continuação (no mesmo ficheiro)

class Program
{
static void Main(string[] args)
{
// Criando um objeto da classe 'Pessoa'
Pessoa pessoa1 = new Pessoa("João", 25);

// Chamando métodos da classe


pessoa1.ExibirInformacoes();
pessoa1.FazerAniversario();
pessoa1.ExibirInformacoes();

Console.ReadLine(); // Espera por uma tecla para fechar a janela


}
}
}

17

Você também pode gostar