Resumo : neste tutorial, você aprenderá sobre a classe C# e como definir uma classe personalizada.
Introdução aos objetos e classes
Objetos são um dos conceitos essenciais na programação orientada a objetos. Objetos têm estados e comportamentos:
- Os estados representam os dados que o objeto contém em um determinado momento.
- Os comportamentos representam as ações que o objeto pode realizar para manipular seus estados.
C# usa programação orientada a objetos baseada em classes. Antes de criar objetos, você precisa definir uma classe. Uma classe é um modelo para a criação de objetos.
Definir uma classe
Para definir uma nova classe, você usa a class
palavra-chave seguida do nome da classe. Por convenção, um nome de classe está no caso Pascal, como Person
, SalesPerson
, etc.
Para criar uma nova classe, siga estas etapas:
Primeiro, crie um novo Person.cs
arquivo.
Segundo, defina a Person
classe no Person.cs
arquivo:
class Person
{
}
Linguagem de código: C# ( cs )
Crie objetos da classe
Para criar objetos da Person
classe, siga estas etapas:
Primeiro, crie o Program.cs
arquivo.
Segundo, crie um novo objeto da Person
classe usando a new
palavra-chave:
Person p1 = new Person();
Linguagem de código: C# ( cs )
Ou você pode usar a var
palavra-chave:
var p1 = new Person();
Linguagem de código: C# ( cs )
Ou
Person p1 = new();
Linguagem de código: C# ( cs )
Neste exemplo, the p1
é um novo objeto da Person
classe. Também é chamado de instância da Person
classe.
Adicione campos à classe
A seguir, adicione três campos à Person
classe: FirstName
, LastName
e Age
. Esses campos representam os estados de um person
objeto:
class Person
{
public string FirstName;
public string LastName;
public byte Age;
}
Linguagem de código: C# ( cs )
A public
palavra-chave controla o nível de acesso para acessar os campos dentro e fora da Person
classe. Consulte o tutorial do modificador de acesso público e privado para obter mais informações.
Já que a Person
classe possui três campos, e todos os seus objetos podem acessá-los. Por exemplo, o seguinte cria uma nova instância da Person
classe e atribui os valores a cada campo:
using HR;
Person p1 = new();
p1.FirstName = "John";
p1.LastName = "Doe";
p1.Age = 25;
Linguagem de código: C# ( cs )
A partir da Person
classe, você pode criar quantos objetos desejar. Por exemplo, o seguinte cria dois objetos Person com os nomes p1
e p2
:
using HR;
Person p1 = new();
p1.FirstName = "John";
p1.LastName = "Doe";
p1.Age = 25;
Person p2 = new();
p2.FirstName = "Jane";
p2.LastName = "Doe";
p2.Age = 22;
Linguagem de código: C# ( cs )
Observe isso p1
e p2
tenha o mesmo conjunto de campos. No entanto, seus valores de campo são diferentes.
Adicionar métodos a uma classe
O seguinte adiciona o GetFullName()
método à Person
classe:
// Person.cs
class Person
{
public string FirstName;
public string LastName;
public byte Age;
public string GetFullName()
{
return $"{FirstName} {LastName}";
}
}
Linguagem de código: C# ( cs )
É GetFullname()
como uma função com a public
palavra-chave. Quando você define uma função dentro de uma classe, ela é chamada de método.
O GetFullName()
método concatena o nome com o sobrenome e retorna o nome completo como uma string.
A public
palavra-chave indica que é acessível tanto dentro quanto fora da Person
classe.
Para chamar o GetFullName()
método de um Person
objeto, você usa o nome do objeto, o operador ponto e o nome do método. Por exemplo:
// Program.cs
Person p1 = new();
p1.FirstName = "John";
p1.LastName = "Doe";
p1.Age = 25;
Console.WriteLine(p1.GetFullName());
Person p2 = new();
p2.FirstName = "Jane";
p2.LastName = "Doe";
p2.Age = 22;
Console.WriteLine(p2.GetFullName());
Linguagem de código: C# ( cs )
Saída:
John Doe
Jane Doe
Linguagem de código: C# ( cs )
Resumo
- Objetos têm estados e comportamentos.
- C# usa uma abordagem de programação orientada a objetos baseada em classes.
- Uma classe é um modelo para a criação de objetos. Objetos são instâncias de uma classe.
- Use a
class
palavra-chave para definir uma classe. - Uma classe possui campos e métodos.
- Use a
new
palavra-chave para criar um novo objeto de uma classe.