apresentaÇÃo 2 - arrays, variaveis globais e programação classes em c#

34
ANO LECTIVO 2012/2013 ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (Mód 08 a 11) TURMA: TGPSI 2º PROFESSOR: Vítor Nobre MÓDULO 10 Progr. Orientada por Objetos APRESENTAÇÃO 2 Arrays, variáveis globais e programação de classes e métodos em C#

Upload: psopa

Post on 20-Jan-2016

38 views

Category:

Documents


3 download

TRANSCRIPT

Page 2: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

CONTEUDOS A ABORDAR

1. Arrays em C#

2. Variáveis locais e globais

3. Programação de classes e métodos em C#

MÓDULO 10 – Programação Orientada por Objetos

Page 3: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C#

MÓDULO 10 – Programação Orientada por Objetos

- As variáveis, como sabemos, permitem armazenar dados ou valores, num

programa

- Normalmente, uma variável apenas permite armazenar um dado ou valor de cada

vez (as chamadas variáveis escalares)

- Contudo, existe um tipo de variável que permite armazenar vários dados/valores

em simultâneo: as tabelas (ou arrays)

- os Arrays representam matrizes de dados armazenados em posições (ou índices)

bem definidos.

- Todos os elementos de um array têm o mesmo tipo de dados, sendo que o

numero de elementos depende diretamente dos limites inferior e superior

(definido pelo programador)

Page 4: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C#

MÓDULO 10 – Programação Orientada por Objetos

- Os arrays presumem uma representação vetorial (no formato de tabela), que é

ditada pelo seu número de dimensões, onde cada elemento é identificado através

da sua posição em cada um dos eixos.

- Quanto ao número de dimensões, os arrays podem ser:

* UNIDIMENSIONAIS: Arrays com apenas uma dimensão (corresponde a

uma tabela com apenas uma coluna)

* MULTIDIMENSIONAIS: Arrays com várias dimensões (várias linhas e

colunas)

Page 5: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C#

MÓDULO 10 – Programação Orientada por Objetos

ARRAY UNIDIMENSIONAL- Exemplo

1

2

3

4

ARRAY MULTIDIMENSIONAL

- Exemplo1

1 2

3 4

ARRAY 2X2

ARRAY MULTIDIMENSIONAL

- Exemplo2

2 4 6

8 9 12

ARRAY 2X3

Page 6: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C#

MÓDULO 10 – Programação Orientada por Objetos

Page 7: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C# : Programação

MÓDULO 10 – Programação Orientada por Objetos

ARRAYS UNIDIMENSIONAIS

Sintaxe: tipo [ ] nome_array = new tipo [tamanho] ;

Onde:

* tipo é o tipo de dados do array

* nome_array corresponde ao nome que pretendemos atribuir ao array

* tamanho corresponde ao número de elementos do array

exemplo:

string [ ] alunos = new string[7] define um array unidimensional com 7

elementos

Page 8: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C# : Programação

MÓDULO 10 – Programação Orientada por Objetos

ARRAYS UNIDIMENSIONAIS: exemplos

string [ ] alunos = new string[7];

alunos[0] = “João”; a 1ª posição do array é preenchida com o nome “João”

alunos[3] = “Ana”; a 4ª posição do array é preenchida com o nome “Ana”

alunos[6] = “Maria”; a 7ª posição do array é preenchida com o nome “Maria”

alunos[7] = “Pedro”; esta atribuição é incorreta (vai dar erro de compilação), pois o

indice 7 corresponde à posição 8 e este array só tem 7 elementos

NOTA: Nos arrays a 1ª posição começa no índice 0 ( [0] ). Assim, a 2ª

posição será [1], a 3ª será [2] e assim sucessivamente

Page 9: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C# : Programação

MÓDULO 10 – Programação Orientada por Objetos

ARRAYS MULTIDIMENSIONAIS (BIDIMENSIONAIS)

Sintaxe: tipo [ , ] nome_array = new tipo [tamanho1, tamanho2] ;

Onde:

* tipo é o tipo de dados do array

* nome_array corresponde ao nome que pretendemos atribuir ao array

* tamanho corresponde ao número de elementos do array

exemplo:

string [ , ] ficha= new string[9,3] define um array bidimensional, com 9 linhas e

3 colunas (9x3)

Page 10: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C# : Programação

MÓDULO 10 – Programação Orientada por Objetos

ARRAYS BIDIMENSIONAIS: exemplos

string [ , ] ficha= new string[9,3]

ficha[3,2] = “janeiro”; corresponde à 4ª linha e 3ª coluna

ficha[0,1] = “22345”; corresponde à 1ª linha e 2ª coluna

ficha[2,7] = “Maria Conceição”; Dá erro, pois o 2º índice está acima do limite permitido

ficha[10,0] = “Pedro”; Dá erro, pois o 1º índice está acima do limite permitido

Page 11: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C# : Programação

MÓDULO 10 – Programação Orientada por Objetos

EXERCÍCIO 1:

1. Considere a seguinte matriz (tabela) de valores

1.1. Escreva o código que permita definir um array, de nome tab, para armazenar a tabela

acima

1.2. Suponha que quer armazenar o valor 3 (que está na 3ª linha e 3ª coluna) nesse array.

Escreva a linha de código que permite fazer isso

1.3. Que valor está armazenado na seguinte posição do array: tab[4,2]

20 12 8

99 100 23

18 42 3

100 21 34

Page 12: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C# : Programação

MÓDULO 10 – Programação Orientada por Objetos

EXERCÍCIO 2 (prático):

1. Abra um novo projeto em C#, em console application, com o nome exercicio_array

2. Nesse projeto, escreva o código que cria um array 2x2, com os seguintes dados

armazenados

3. Escreva o código que permite mostrar todos os valores armazenados no array, com

indicação da linha e coluna.

exemplo de output: “o valor da 1ª linha e 1ª coluna é: 2

o valor da 1ª linha 2ª coluna é: 6

… ”

2 6

12 24

Page 13: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C# : Programação

MÓDULO 10 – Programação Orientada por Objetos

EXERCÍCIO 3 (prático):

1. Faça o mesmo exercício da alínea anterior mas por forma a que o output mostre os

valores alinhados em forma de tabela

exemplo de output:

os valores da tabela são:

1 2

3 4

Page 14: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C# : Programação

MÓDULO 10 – Programação Orientada por Objetos

EXERCÍCIO 4 (prático):

1. Faça um programa em C#, em console application, que crie uma matriz 3x3 de numeros

inteiros e permita que o utilizador preencha essa matriz com valores à sua escolha.

O programa deverá depois mostrar os valores dessa matriz, dispostos em formato de

tabela

2. Tente fazer o mesmo programa, mas em formato Windows Form

Page 15: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C# : Programação

MÓDULO 10 – Programação Orientada por Objetos

EXERCÍCIO 5 (prático):

- Faça um programa em modo Console Application, que crie uma matriz 2x3 e a carregue com

os seguintes valores:

João Pedro Paulo

Ana Maria Julia

O programa deverá perguntar ao utilizador qual a linha e coluna que quer visualizar e, depois,

mostrar o nome armazenado nessa posição

exemplo: “Indique o nº da linha: “

“ Indique o nº da coluna: “

O nome armazenado nessa posição é: ....

Page 16: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

ARRAYS EM C# : Programação

MÓDULO 10 – Programação Orientada por Objetos

EXERCÍCIO 6 (prático):

- Crie um mini-projeto a seu gosto, que utilize arrays.

- O projeto deverá ser apresentado à turma

Observação: a construção e apresentação do projeto deverá ocupar o

máximo de 3 tempos

Page 17: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

VARIÁVEIS LOCAIS E GLOBAIS

MÓDULO 10 – Programação Orientada por Objetos

- Quando criamos variáveis, elas podem ter um âmbito local ou um âmbito global

- Variáveis Locais são variáveis que só são reconhecidas no módulo de

programação (forms, por exemplo) em que são criadas

- Variáveis Globais são variáveis que são reconhecidas em qualquer parte do

programa ou mesmo por outros programas

- Para que uma variável seja usada como global, ela tem que ser definida com o

nível de proteção PUBLIC, associado à palavra STATIC

- Se não for atribuído nenhum nível de proteção à variável, ela fica como sendo

privada (PRIVATE), passando a funcionar como variável local

Page 18: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

VARIÁVEIS LOCAIS E GLOBAIS: exemplo

MÓDULO 10 – Programação Orientada por Objetos

- Suponhamos um programa constituído por 2 forms, semelhantes aos seguintes:

- O que se pretende é definir variáveis globais (variáveis definidas uma única vez), cujos

valores funcionem em todos os formulários. Por exemplo, criar as variáveis numero1,

numero2, media, soma e multiplicação numa zona do programa e que elas funcionem em

todo o programa.

- Podemos criar todas as variáveis no Form1, por exemplo, ficando da seguinte forma:

Page 19: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

VARIÁVEIS LOCAIS E GLOBAIS: exemplo

MÓDULO 10 – Programação Orientada por Objetos

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public static double numero1;

public static double numero2;

public static double media, soma, multiplicação;

public Form1()

{

}

- As variáveis são definidas logo no

inicio da classe Form1, sendo

declaradas como public static

- Neste formulário as variaveis são

utilizadas de forma normal

private void button1_Click(object sender, EventArgs e)

{

numero1 = Convert.ToInt32(textBox1.Text);

numero2 = Convert.ToInt32(textBox2.Text);

media = (numero1 + numero2) / 2;

textBox3.Text = Convert.ToString(media);

Page 20: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

VARIÁVEIS LOCAIS E GLOBAIS: exemplo

MÓDULO 10 – Programação Orientada por Objetos

private void button1_Click(object sender, EventArgs e)

{

Form1.multiplicação = (Form1.numero1 * Form1.numero2);

textBox1.Text = Convert.ToString(Form1.multiplicação);

}

- O Form2 utiliza a variável multiplicação para realizar essa operação entre os 2 valores

- Como essas variáveis foram definidas no Form1, para que elas sejam reconhecidas no

Form2 temos que indicar da seguinte forma:

Neste caso, indicamos que as variáveis pertencem ao Form1

Resumindo: o código Formx.variável permite utilizar num determinado Form uma variável

definida num outro form (Formx)

Page 21: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

VARIÁVEIS LOCAIS E GLOBAIS: exemplo

MÓDULO 10 – Programação Orientada por Objetos

- Também podemos definir todas as variáveis de um programa no módulo principal desse

programa, o módulo Program.cs (estando a trabalhar em modo Windows Form Application)

- Neste exemplo em concreto teremos:

Page 22: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

VARIÁVEIS LOCAIS E GLOBAIS: exemplo

MÓDULO 10 – Programação Orientada por Objetos

- Neste caso, se as variáveis forem definidas no módulo Program.cs, no Form1 o código será

o seguinte (para o botão que calcula a soma):

private void button1_Click(object sender, EventArgs e)

{

Program.numero1 = Convert.ToInt32(textBox1.Text);

Program.numero2 = Convert.ToInt32(textBox2.Text);

Program.media = (Program.numero1 + Program.numero2) / 2;

textBox3.Text = Convert.ToString(Program.media);

}

- De igual modo, o botão da multiplicação no Form2 ficará:

private void button1_Click(object sender, EventArgs e)

{

Program.multiplicação = (Program.numero1 * Program.numero2);

textBox1.Text = Convert.ToString(Program.multiplicação);

}

Page 23: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

VARIÁVEIS LOCAIS E GLOBAIS:

MÓDULO 10 – Programação Orientada por Objetos

- Quando se trabalha em modo consola (Console application), a definição de variáveis

globais faz-se também usando as palavras PUBLIC STATIC mas logo no inicio da classe

principal do programa (Classe Program):

namespace variaveis_globais { class Program { public static int num1, num2, media; static void Main(string[] args) { } } }

Em modo consola, a

definição de variáveis

globais é feita aqui

Page 24: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

VARIÁVEIS LOCAIS E GLOBAIS: EXERCÍCIOS

MÓDULO 10 – Programação Orientada por Objetos

Resolver Ficha de trabalho nº 2 (PRÁTICA)

Page 25: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

PROGRAMAÇÃO DE CLASSES E MÉTODOS, EM C#

MÓDULO 10 – Programação Orientada por Objetos

CLASSES:

- As classes são criadas através da palavra-chave class

SINTAXE: [nivel_acesso] class nome_da_classe

{

bloco de instruções

}

EXEMPLO:

Class Carro

{

// Aqui deverão constar as diversas instruções que definem a classe

}

RELEMBRAR: As classes podem

ser definidas com 2 níveis de

acesso – INTERNAL ou PUBLIC.

Se não indicarmos o nível de

acesso, a classe passa a ser

INTERNAL

Page 26: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

PROGRAMAÇÃO DE CLASSES E MÉTODOS, EM C#

MÓDULO 10 – Programação Orientada por Objetos

CLASSES:

EXEMPLO:

Class Carro

{

string cor, marca, modelo;

int cilindrada, velocidade;

}

MÉTODOS:

SINTAXE: Nivel_Acesso tipo nome_método([argumentos])

{

// instruções que fazem parte do método

}

Page 27: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

PROGRAMAÇÃO DE CLASSES E MÉTODOS, EM C#

MÓDULO 10 – Programação Orientada por Objetos

MÉTODOS

EXEMPLO:

Class Carro

{

string cor, marca, modelo;

int cilindrada, velocidade;

void Parar() // método sem argumentos

{

velocidade=0;

}

void Acelerar(int quantidade) // método com um argumento

{

velocidade = velocidade + quantidade;

}

void Travar(int quantidade) // método com um argumento

{

velocidade = velocidade - quantidade;

}

}

RELEMBRAR: Os métodos podem ser

definidos com 5 níveis de acesso –

PRIVATE, PUBLIC, PROTECTED,

INTERNAL, PROTECTED INTERNAL. Se

não indicarmos o nível de acesso, o

método fica como PRIVATE

Page 28: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

PROGRAMAÇÃO DE CLASSES E MÉTODOS, EM C#

MÓDULO 10 – Programação Orientada por Objetos

Classes e Métodos em aplicações gráficas (Windows Form Applications)

EXEMPLO:

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

}

}

Esta linha indica que a classe Form1 é “filha” da classe geral Form (Herança)

Método Form1(). Este método é publico, ou seja, pode ser acedido de qualquer ponto do

programa

Método Form1_Load(). Este método é privado, ou

seja, só funciona na classe Form1

Método button1_Click(). Este método está

associado ao evento “Carregar no botão 1” e é

privado, pelo que só funciona no Form1

Obs: Todos os formulários são classes, que derivam da classe

principal Form, ou seja, herdam todas as suas propriedades

Page 29: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

PROGRAMAÇÃO DE CLASSES E MÉTODOS, EM C#

MÓDULO 10 – Programação Orientada por Objetos

INSTÂNCIAS

SINTAXE: classe instância = new classe([argumentos])

em que: classe é o nome da classe que se pretende instanciar, instância é

o nome do objeto que vamos criar e argumentos são os parâmetros com os

quais se pode inicializar o objeto

EXEMPLO: class Program

{

static void Main (string[ ] args)

{

Carro carro = new Carro(); // criação da instância carro, a partir da classe Carro

}

}

class Carro

(…)

RELEMBRAR: Instância é cada um dos

objetos que se criam a partir de uma

classe.

- As instâncias são criadas no método

principal do programa

Page 30: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

PROGRAMAÇÃO DE CLASSES E MÉTODOS, EM C#

MÓDULO 10 – Programação Orientada por Objetos

CONSTRUTORES

-Quando criamos uma classe devemos também criar um Construtor associado à

classe

- Um Construtor da classe prepara a classe para ser usada e para se criarem

objetos dessa classe

- A todas as classes está associado um Construtor

SINTAXE:

Class Classe

{

(…)

Public Classe

(…)

}

Criação do Construtor da classe

Page 31: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

PROGRAMAÇÃO DE CLASSES E MÉTODOS, EM C#

MÓDULO 10 – Programação Orientada por Objetos

CONSTRUTORES

EXEMPLO:

Class Carro

{ string cor, marca, modelo;

int cilindrada, velocidade;

// Criação do Construtor

Public Carro (string corOrigem, int cilindradaOrigem)

{

cor = corOrigem;

cilindrada = cilindradaOrigem;

velocidade = 0;

}

void Parar()

{

velocidade=0;

}

void Acelerar(int quantidade)

{

velocidade = velocidade + quantidade;

}

void Travar(int quantidade)

{

velocidade = velocidade - quantidade;

}

}

class Program

{

static void Main (string[ ] args)

{

Carro carro = new Carro(“Azul”,1600);

}

}

Page 32: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

PROGRAMAÇÃO DE CLASSES E MÉTODOS, EM C#

MÓDULO 10 – Programação Orientada por Objetos

DESTRUTORES

- Da mesma forma que devemos criar um Construtor para inicializar uma classe,

também poderemos criar um Destrutor para destruir a classe

- A utilização de Destrutores de Classe é opcional e costuma ser usada para libertar

a memória de objetos que já não são necessários

SINTAXE: ~Classe() Exemplo:

Class Carro

{

Public Carro

{ }

~Carro()

}

Construtor da classe Carro

Destrutor da classe Carro

Page 33: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

PROGRAMAÇÃO DE CLASSES E MÉTODOS, EM C#

MÓDULO 10 – Programação Orientada por Objetos

Invocação de métodos (Mensagens)

- Os métodos podem ser chamados (ou invocados) a partir de qualquer ponto do

programa. A isto dá-se o nome de “mensagem”.

- Para invocarmos um método deveremos escrever o nome do objeto a que se

aplica o método, seguido de um ponto (.) e do nome do método

SINTAXE: objeto.método([argumentos])

EXEMPLO 1: EXEMPLO 2 (Windows Forms):

class Program()

{ static void main (string[ ] args)

{ Carro carro = new Carro (“azul”, 1600);

carro.velocidade=20;

carro.Parar();

} }

private void button1_Click(object sender, EventArgs e)

{

Form2.Hide()

}

Page 34: APRESENTAÇÃO 2 - Arrays, variaveis globais e programação classes em C#

ESCOLA SECUNDÁRIA DE PINHEIRO E ROSA DISCIPLINA: PSI (MÓD 08 A 11)

PSI TGPSI2 2012/2013 prof: Vítor Nobre

PROGRAMAÇÃO DE CLASSES E MÉTODOS, EM C#

MÓDULO 10 – Programação Orientada por Objetos

Resolver em modo consola, o exemplo

fornecido pelo professor