Buscar

Revisão Orientação a Objeto

Prévia do material em texto

Valor padrão para os tipos primitivos e não primitivos:
O que é uma classe:
É uma descrição que abstrai um conjunto de objetos com características similares.
Uma classe comumente define o estado e o comportamento de um objeto implementando atributos e métodos. 
Atributos: indicam as possíveis informações armazenadas por um objeto de uma classe.
Os métodos: são procedimentos que formam os comportamentos e ações 
oferecidos por objetos de uma classe
O que é uma instancia: 
A palavra "instanciar" significa criar
Exemplo: "animal" é uma classe ou um molde; "cachorro" é uma instância de "animal" e apesar de carregar todas as características do molde de "animal", é completamente independente de outras instâncias de "animal".
// Classe
class Animal
{
 // Atributo
 protected string especie;
 // Construtor
 public Animal(string especie)
 {
 this.especie = especie;
 }
 // Execução
 static void Main(string[] args)
 {
 // Instâncias
 Animal cachorro = new Animal("Canis lupus familiaris");
 Animal gato = new Animal("Felis catus");
 Animal lobo = new Animal("Canis lupus");
 }
}
Diferença entre classe instancia:
Os métodos declarados como static são considerados da classe
public class MinhaClasse{
 public static void imprimir(){
 System.out.println("adasd");
 }
}
public class Teste{
 public static void main(String args[]){
 MinhaClasse.imprimir();
 }
}
Classe: Você não precisa de uma instância (objeto) da classe MinhaClasse para executar o método imprimir. 
Instancia: No caso de métodos de instância você precisa de um instância (objeto) da classe para poder executá-lo. São todos os métodos que não são static. Ex:
public class MinhaClasse{
 public void imprimir(){
 System.out.println("adasd");
 }
}
public class Teste{
 public static void main(String args[]){
 MinhaClasse objeto = new MinhaClasse();
 objeto.imprimir();
 }
}
Membros da classe:
Os métodos: são procedimentos que formam os comportamentos e ações oferecidos por objetos de uma classe
Tipo de retorno: quando o método tem um valor de retorno, o tipo desse valor.
Parâmetros quando o método recebe parâmetros para sua execução, o tipo e um identificador para cada parâmetro.
Atributos: indicam as possíveis informações armazenadas por um objeto de uma classe.
Método construtor: Um método construtor é o método onde tem as instruções que serão executadas SEMPRE que for instanciado um objeto desta classe.... Exemplo... Classe [b]MinhaClasse.java[/b]
	1
2
3
4
5
	public class MinhaClasse {
   public MinhaClasse() { //esse é o método construtor
      System.out.println("Oi!");
   }
}
Modificadores de visibilidade:
Os modificadores de acesso são palavras-chave usadas para especificar a acessibilidade declarada de um membro ou de um tipo. Esta seção apresenta os quatro modificadores de acesso:
public
protected
internal
private
Os seis seguintes níveis de acessibilidade podem ser especificados usando os modificadores de acesso:
public: o acesso não é restrito.
protected: o acesso é limitado à classe que os contém ou aos tipos derivados da classe que os contém.
internal: o acesso é limitado ao assembly atual.
protected internal: o acesso é limitado ao assembly atual ou aos tipos derivados da classe que os contém.
private: o acesso é limitado ao tipo recipiente.
private protected: o acesso é limitado à classe que o contém ou a tipos derivados da classe que o contém no assembly atual.
Namespace e a palavra reservada “using”
Namespace: Podem ser entendidos como “categorias” ou “blocos” que contêm trechos de código. Para determinar um espaço reservado, um escopo, um delimitador de códigos de início e fim, deve-se utilizar um namespace. No exemplo da classe Program, o namespace é determinado por padrão com o mesmo nome do projeto criado:
namespace ConsoleApplication
Using: Para utilizarmos as classes de outros namespaces que não o atual, podemos informar no código o caminho completo da classe (incluindo o namespace), como podemos verificar no código abaixo, que utiliza a classe MatematicaAlgebra do namespace NamespacesDemo.Matematica.Algebra:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NamespacesDemo
{
    class Cliente
    {
        private void UsaMatematica()
        {
            Matematica.Algebra.MatematicaAlgebra _meuObjeto = new Matematica.Algebra.MatematicaAlgebra();
        }
    }
}
Outra opção para acessarmos a mesma classe sem utilizar o caminho completo da mesma, seria definir seu namespace utilizando a palavra reservada using.
Com isso, nosso código ficaria o seguinte:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NamespacesDemo.Matematica.Algebra;
namespace NamespacesDemo
{
    class Cliente
    {
        private void UsaMatematica()
        {
            MatematicaAlgebra _meuObjeto = new MatematicaAlgebra();
        }
    }
}
A palavra reservada “new”
new: é utilizado para criar uma nova instância de uma determinada classe. Imagine que a planta de uma casa é a classe e uma casa construída a partir dessa planta seria a instância dessa classe - um novo objeto. Você pode construir diversas casas a partir dessa mesma planta, ou seja, você pode criar diversos objetos que são instâncias da mesma class.
A palavra reservada “this”
this: Variável de referência que diz respeito a instancia atual de um objeto
class MinhaClasse{
private int numero;
MinhaClasse(int numero){ //sombreamento da variável de instancia.
this.numero = numero; // se você não colocar o this o compilador não sabe quem é quem
}
}
Basta lembrar que a palavra chave this é sempre para o objeto em execução.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes