Home  >  Article  >  Backend Development  >  C# Class

C# Class

PHPz
PHPzOriginal
2024-09-03 15:26:02391browse

In this article, we will learn about C# Class. Class is the blueprint of the objects which are created. In a real-time scenario let us suppose Car is a class. So the car has certain characteristics like shape, speed, interior, color, and so many other things.  So a lot of companies make cars that meet these requirements. For example every car of Maruti, Hyundai has these objects. We can define a class named car and creates the objects as per the characteristic of the car. Similarly in OOP or object-oriented program, a class have many properties like event, methods, fields, etc.  A class enables a programmer to create custom types of objects as per their requirements.

Syntax:

We can define the class with the keyword named the class followed by the name of the class which we will decide and it enclosed by a pair of curly braces.

Class Test {  }

Examples to Implement C# Class

Below are the examples which show how it can be implemented

Example #1

Abstract Class

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public abstract class Animals
{
public abstract void aml ();      // abstract class method
}
public class Cat : Animals     // inheritance
{
public override void aml()
{
Console.WriteLine("This is first animal");
}
}
public class Dog : Animals   // another class inheritance
{
public override void aml()
{
Console.WriteLine("This is second animal");
}
}
public class main_method
{
public static void Main()      // main method
{
Animals a;
a = new Cat();
a.aml();
a = new Dog();
a.aml();
Console.ReadLine();
}
}

Explanation: In the above example, there are an abstract class Animals with abstract method aml(). Class Animals are inherent in child class ‘Cat’ and one another child class ‘Dog’. In the main method, ‘a’ is the object of a class Animals that cannot be instantiated. Abstract classes are used at the time of inheritance which contains constructors and destructors. Override keyword is a must before the abstract method which is used to inherit child class.

Output:

C# Class

Example #2

Sealed Class

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public class Animal
{
public virtual void sleep()
{
Console.WriteLine("Animals are sleeping");
}
public virtual void eat()
{
Console.WriteLine("Animals are eating");
}
}
public class Cat : Animal    // inheritance
{
public override void sleep()
{
Console.WriteLine("Cat is sleeping");
}
public sealed override void eat()  // sealed method
{
Console.WriteLine("Cat is eating");
}
}
public class Dog : Cat  // inheritance
{
public override void Sleep()
{
Console.WriteLine("Sleeping");
}
public override void eat()
{
Console.WriteLine("Eating");
}
}
public class TestSealed
{
public static void Main()    // main method
{
Dog d = new Dog();
d.eat();
d.fly();
}
}

Explanation: In the above example, there is a sealed method that is used to prevent the other classes to be inherited. So in this case when we are trying to inherit the sealed class, compiler read the sealed keyword and will give an error. Hence it cannot be overridden.

Output:

C# Class

Example #3

Static Class

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class Office
{
public static string Name;          // static fields
public static string Location;
static Office()        // constructor
{
Name = "Microsoft";
Location = "Hyderabad";
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Office.Name);
Console.WriteLine(Office.Location);
Console.Read();
}
}

Explanation: In the above example, there is a static class and a static keyword is used for static classes which make the class non-instantiable. It consists of a static member’s name and location. In the main method, we are accessing the static data members of the class office. An object for static classes cannot be created. Static classes cannot be inherited from any other class.

Output:

C# Class

Example #4

Partial Class

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// partial class1.cs
public partial class Class1
{
private string EmpName;
private int EmpId;
public Class1(string a, int t)
{
this.EmpName = a;
this.EmpId = t;
}
}
// partial class2.cs
public partial class Class1
{
public void Display()
{
Console.WriteLine("Employee name is : " + EmpName);
Console.WriteLine("Employee Id is : " + EmpId);
}
}
public class Class
{
private string EmpName;
private int EmpId;
public Class(string a, int t)
{
this.EmpName = a;
this.EmpId = t;
}
public void Display()
{
Console.WriteLine("Employees name is : " + EmpName);
Console.WriteLine("Employee Id is : " + EmpId);
}
}

Explanation: In the above example, the partial class is implemented. It can be used when we have a long class. So to ease the code we can define multiple files. Partial is the keyword used with these types of classes. So it can be split into multiple files which consist of a method with the use of the partial keyword. In this partial class1.cs and partial class2.cs are combined by the compiler into a single file.

Output:

C# Class

Notes: Access specifiers helps to access the member as well as the class itself.

Conclusion

For accessing any class members, we should use the dot operator. The dot operator helps to link the name of the object to the name of the member. We can define methods, constructors, destructors inside the class.

The above is the detailed content of C# Class. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:C# Thread SynchronizationNext article:C# Thread Synchronization