Conceitos importantes no uso de métodos e classes.
- Em classes e métodos a primeira letra é sempre maiúscula.
Ex: Class Pessoa, public void Atualizar()
- A primeira letra dos atributos (variáveis) são sempre minusculas.
Ex: nome, numeroResidencia
- Os métodos devem identificar uma ação.
Ex: Atualizar(), Andar(), Cadastrar()
- O termo "public" (visível) deixa o seu método sem restrição de acesso.
- Com o temo "protected" o acesso é limitado a classes ou tipos derivados da classe.
- Com "private" o acesso é restrito, permitindo somente dentro da classe.
- O "static" declara que a classe não precisa ser instanciada, podendo assim simplismente chamar seus métodos e propriedades do program.
- Usando o "sealed" definimos uma classe que não pode ser modificada e nem herdada.
- Com o "abstract" definimos uma classe ou método com abstrato e somente podera sem implementado na classe filha. Classes abstratas não podem ser criadas com "novo objeto", só podem ser herdadas.
- "interface" define uma classe que possui apenas a assinatura dos métodos e propriedades. Todos os seus métodos e propriedades deverão ser implementados.
-"virtual" declara que um método ou propriedade pode ser sobrescrito. (override)
- Em programação orientada a objeto, o encapsulamento serve para separar um programa em partes isolando-as o máximo possível, protegendo o acesso direto aos atributos da classe com o objetivo de deixar o programa mais flexível e facilitar o trabalho no código.
Ex:
private string nome; //Criei uma variavel privada dentro de uma determinada classe.
public void setNome(string nome) //Criei um método publico para alimentar a variavel "nome".
{
this.nome = nome;
}
Dessa forma no meu program eu só consigo ter acesso a variável nome, pelo método setNome e não diretamente.
VAMOS VER NA PRATICA
1. Crie um vetor de 4 elementos (int), crie um método que alimente este vetor, crie um metodo que mostre os valores deste vetor e crie um método que multiplique por um numero inteiro todos os valores do vetor.
namespace Vetor
{
class Program
{
static void Main(string[] args)
{
int[] x = new x[4];
//Chamando os métodos no main
GerarVetor(x);
ImprimirVetor(x);
MultiplicarVetor(x);
Console.ReadKey();
}
static void GerarVetor(int[] x) //Método indicado por uma ação
{
Random sort = new Random();
for (int i = 0; i < 4; i++)
{
x[i] = sort.Next(100);
}
}
static void ImprimirVetor(int[] x) //Método indicado por uma ação
{
Console.WriteLine("Posição 1 do vetor: " + x[0]);
Console.WriteLine("Posição 2 do vetor: " + x[1]);
Console.WriteLine("Posição 3 do vetor: " + x[2]);
Console.WriteLine("Posição 4 do vetor: " + x[3]);
}
static void MultiplicarVetor(int[] x) //Método indicado por uma ação
{
Console.WriteLine("Digite um numero multiplicador: ");
int mult = int.Parse(Console.ReadLine());
Console.WriteLine("Posição 1 do vetor: " + (x[0] * mult));
Console.WriteLine("Posição 2 do vetor: " + (x[1] * mult));
Console.WriteLine("Posição 3 do vetor: " + (x[2] * mult));
Console.WriteLine("Posição 4 do vetor: " + (x[3] * mult));
}
}
}
2. Declare uma matrix 3 x 4 , crie um metodo que alimente a matriz com numeros de 0 a 50, crie um metodo que some os numeros da matriz, crie um metodo que mostre o menor e o maior valor, crie um metodo que mostre a media dos valores.
namespace Matriz
{
class Program
{
static void Main(string[] args)
{
int[,] x = new int[3,4];
GerarMatriz(x);
MostrarMatriz(x);
Somar(x);
MenorMaior(x);
Media(x);
}
static void GerarMatriz(int[,] x) //Método indicado por uma ação
{
Random sorteio = new Random();
for (int l = 0; l < x.GetLength(0); l++)
{
for (int c = 0; c < x.GetLength(1); c++)
x[l,c] = sorteio.Next(51);
}
}
static void MostrarMatriz(int[,] x) //Método indicado por uma ação
{
for (int l = 0; l < x.GetLength(0); l++)
{
for (int c = 0; c < x.GetLength(1); c++)
{
Console.WriteLine("Linha" + l + " Coluna" + c);
Console.WriteLine(x[l, c]);
}
}
Console.ReadKey();
}
static void Somar(int[,] x) //Método indicado por uma ação
{
int soma = 0;
for (int l = 0; l < x.GetLength(0); l++)
{
for (int c = 0; c < x.GetLength(1); c++)
{
soma = soma + x[l, c];
}
}
Console.WriteLine("Soma de todos os numeros da matriz " + soma);
Console.ReadKey();
}
static void MenorMaior(int[,] x)
{
int menor = 50;
int maior = 0;
for (int l = 0; l < x.GetLength(0); l++)
{
for (int c = 0; c < x.GetLength(1); c++)
{
if (x[l, c] > maior)
{
maior = x[l, c];
}
if (x[l, c] < menor)
{
menor = x[l, c];
}
}
}
Console.WriteLine("Menor numero " + menor);
Console.WriteLine("Maior numero " + maior);
Console.ReadKey();
}
static void Media(int[,] x)
{
int soma = 0;
for (int l = 0; l < x.GetLength(0); l++)
{
for (int c = 0; c < x.GetLength(1); c++)
{
soma = soma + x[l, c];
}
}
double media = soma / 12;
Console.WriteLine("Media " + media);
Console.ReadKey();
}
}
}
3. Crie uma classe pessoa, com os seguintes atributos: nome, endereço, telefone, idade e altura e com o metodo para imprimir uma mensagem. Use encapsulameto.
CLASSE PESSOA
namespace ProjetoPessoa
{
class Pessoa
{
//Private Variables
private string name;
private string address;
private string fone;
private int age;
private float height;
//Encapsulation
public void setName(string name)
{
this.name = name;
}
public string getName()
{
return name;
}
public void setAddress(string address)
{
this.address = address;
}
public string getAddress()
{
return address;
}
public void setFone(string fone)
{
this.fone = fone;
}
public string getFone()
{
return fone;
}
public void setAge(int age)
{
this.age = age;
}
public int getAge()
{
return age;
}
public void setHeight(float height)
{
this.height = height;
}
public float getHeight()
{
return height;
}
//Methods
public void Printer(string msg) //Método indicado por uma ação
{
Console.WriteLine(msg);
}
}
}
PROGRAM
namespace ProjetoPessoa
{
class Program
{
static void Main(string[] args)
{
//Instance pessoa1
Pessoa p1 = new Pessoa();
p1.setName("João");
Console.WriteLine(p1.getName());
p1.Printer("OK");
//Instance Pessoa2
Pessoa p2 = new Pessoa();
p1.setName("Maria");
Console.WriteLine(p1.getName());
p2.Printer("OK");
Console.ReadKey();
}
}
}
namespace ProjetoPessoa
{
class Program
{
static void Main(string[] args)
{
//Instance pessoa1
Pessoa p1 = new Pessoa();
p1.setName("João");
Console.WriteLine(p1.getName());
p1.Printer("OK");
//Instance Pessoa2
Pessoa p2 = new Pessoa();
p1.setName("Maria");
Console.WriteLine(p1.getName());
p2.Printer("OK");
Console.ReadKey();
}
}
}
4. Implementando a seguinte classe:
CLASSE
namespace ProjetoCarro
{
class Carro
{
//Variaveis Privadas
private string cor;
private int potencia;
private string placa;
private bool ligado;
private bool freio;
//Construtor
public Carro()
{
ligado = false;
freio = true;
}
//Encapsulamento
public void setCor(string cor)
{
this.cor = cor;
}
public string getCor()
{
return cor;
}
public void setPotencia(int potencia)
{
this.potencia = potencia;
}
public int getPotencia()
{
return potencia;
}
public void setPlaca(string placa)
{
this.placa = placa;
}
public string getPlaca()
{
return placa;
}
public void setLigado(bool ligado)
{
this.ligado = ligado;
}
public bool getLigado()
{
return ligado;
}
public void setFreio(bool freio)
{
this.freio = freio;
}
public bool getFreio()
{
return freio;
}
//Metodos
public void Ligar() //Método indicado por uma ação
{
ligado = true;
}
public void Desligar() //Método indicado por uma ação
{
ligado = false;
}
public void AtivarFreio() //Método indicado por uma ação
{
freio = true;
}
public void DesativarFreio() //Método indicado por uma ação
{
freio = false;
}
public string Status()
{
if (ligado == true)
return (" Carro Ligado!" + " Freio: " + freio + " Cor: " + cor + " Potencia: " + potencia + " Placa: " + placa);
else
return (" Carro Desligado!" + " Freio: " + freio + " Cor: " + cor + " Potencia: " + potencia + " Placa: " + placa);
}
}
}
PROGRAM
namespace ProjetoCarro
{
class Program
{
static void Main(string[] args)
{
Carro c1 = new Carro();
Console.WriteLine("Informe a cor do carro: ");
c1.setCor(Console.ReadLine());
Console.WriteLine("Informe a potencia do carro: ");
c1.setPotencia(int.Parse(Console.ReadLine()));
Console.WriteLine("informe a placa do carro: ");
c1.setPlaca(Console.ReadLine());
Console.WriteLine("Deseja ligar o carro? S/N");
string op1 = Console.ReadLine().ToUpper();
if (op1 == "S")
{
c1.Ligar();
}
if (op1 == "N")
{
c1.Desligar();
}
if (op1 != "S" && op1 != "N")
{
Console.WriteLine("Opção invalida!");
}
Console.WriteLine("Permanecer com os Freios ativados? S/N");
string op2 = Console.ReadLine().ToUpper();
if (op2 == "S")
{
c1.AtivarFreio();
}
if (op2 == "N")
{
c1.DesativarFreio();
}
if (op2 != "S" && op2 != "N")
{
Console.WriteLine("Opção invalida!");
}
Console.WriteLine("Status:" + c1.Status());
Console.ReadKey();
}
}
}
Sem comentários:
Enviar um comentário