Diferença Entre Método Estático E Não Estático

Diferença Entre Método Estático E Não Estático
Diferença Entre Método Estático E Não Estático

Vídeo: Diferença Entre Método Estático E Não Estático

Vídeo: Diferença Entre Método Estático E Não Estático
Vídeo: Métodos e Variáveis estáticos (static) - Curso Programação Completo C# - Aula 49 2024, Novembro
Anonim

Método Estático vs Não Estático

Um método é uma série de instruções executadas para realizar uma tarefa específica. Os métodos podem receber entradas e produzir saídas. Métodos estáticos e não estáticos são dois tipos de métodos presentes em linguagens de programação orientadas a objetos. Um método estático é um método associado a uma classe. Um método associado a um objeto é denominado método não estático (instância). Em linguagens orientadas a objetos, os métodos são usados como um mecanismo para operar em dados que são armazenados em objetos.

O que é um método estático?

Na programação orientada a objetos, o método estático é um método associado a uma classe. Portanto, os métodos estáticos não têm a capacidade de operar em uma instância específica de uma classe. Os métodos estáticos podem ser chamados sem usar um objeto da classe que contém o método estático. A seguir está um exemplo de definição de um método estático em Java. O estático deve ser usado ao definir um método estático em Java.

public class MyClass {public static void MyStaticMethod () {// código do método estático}

}

O método estático definido acima pode ser chamado da seguinte maneira, usando o nome da classe à qual pertence.

MyClass. MyStaticMethod ();

Uma coisa importante a observar é que os métodos estáticos podem acessar apenas membros estáticos.

O que é um método não estático?

Um método não estático ou um método de instância é um método associado a um objeto em uma classe. Portanto, os métodos não estáticos são chamados usando um objeto da classe na qual o método é definido. Um método não estático pode acessar membros não estáticos, bem como membros estáticos de uma classe. Em muitas linguagens orientadas a objetos (como C ++, C #, Java), quando um método não estático é chamado, o objeto que invocou o método é passado como um argumento implícito (é chamado de referência 'this'). Portanto, dentro do método, esta palavra-chave pode ser usada para se referir ao objeto que chamou o método. A seguir está um exemplo de definição de um método de instância em Java.

public class MyClass {public void MyInstanceMethod () {// código do método de instância}

}

O método de instância definido acima pode ser chamado da seguinte maneira, usando um objeto da classe a que pertence.

MyClass objMyClass = new MyClass ();

objMyClass. MyInstanceMethod ();

Qual é a diferença entre o método estático e não estático?

Métodos estáticos são métodos associados a uma classe, enquanto métodos não estáticos são métodos associados a objetos de uma classe. Uma classe precisa ser instanciada primeiro para invocar um método não estático, mas os métodos estáticos não têm esse requisito. Eles podem ser simplesmente chamados usando o nome da classe que contém o método estático. Outra diferença importante é que um método não estático geralmente possui uma referência ao objeto que chamou o método e pode ser acessado usando a palavra-chave this dentro do método. Mas essa palavra-chave não pode ser usada em métodos estáticos, pois eles não estão associados a um objeto específico.

Recomendado: