Object and Class
In C#, objects and classes are core concepts of object-oriented programming (OOP). A class is a blueprint for creating objects, which are instances of that class. Classes encapsulate data and behavior, helping to organize code into modular and reusable components.
Classes
A class is a logical entity that defines a type and what it can do. A class can be thought of as a blueprint that specifies the properties and methods of a type. To declare a class in C#, use the keyword class followed by the access level and a custom name, and end with curly braces.
Objects
An object is a physical entity that is created based on a class’s blueprint. An object is a block of memory that has been configured to match the class’s definition. To create an object of a class in C#, use the new keyword followed by the name of the class.
Basics of Classes
A class in C# is defined using the class keyword followed by the class name. Inside the class, you can define fields, properties, methods, and constructors.
- Fields: Variables that store the data for the class.
- Properties: Provide controlled access to the fields.
- Methods: Functions that define the behavior of the class.
- Constructors: Special methods used to initialize objects.
Example
using System;
class Person
{
// Fields
private string firstName;
private string lastName;
private int age;
// Constructor
public Person(string firstName, string lastName, int age)
{
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
// Properties
public string FirstName
{
get { return firstName; }
set { firstName = value; }
}
public string LastName
{
get { return lastName; }
set { lastName = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
// Method
public void DisplayDetails()
{
Console.WriteLine($"Name: {firstName} {lastName}, Age: {age}");
}
}
class Program
{
static void Main()
{
// Creating an object of the Person class
Person person1 = new Person("John", "Doe", 30);
// Accessing properties
Console.WriteLine($"First Name: {person1.FirstName}");
Console.WriteLine($"Last Name: {person1.LastName}");
Console.WriteLine($"Age: {person1.Age}");
// Modifying properties
person1.Age = 31;
// Calling a method
person1.DisplayDetails();
}
}
Explanation of the Example
- Class Definition:
- We define a Person class with three private fields: firstName, lastName, and age.
- A constructor initializes these fields when an object of the Person class is created.
- Properties:
- Properties FirstName, LastName, and Age provide access to the private fields. They use get and set accessors to read and modify the field values.
- Method:
- The DisplayDetails method prints the person’s details to the console.
- Main Method:
- We create an object person1 of the Person class and initialize it with specific values.
- We access and print the properties of person1.
- We modify the Age property of person1.
- We call the DisplayDetails method to display the person’s updated details.
Core Ideas
- Encapsulation:
- The Person class encapsulates the fields firstName, lastName, and age. These fields are private, meaning they cannot be accessed directly from outside the class.
- Access to these fields is provided through public properties, ensuring controlled access and modification.
- Object Creation:
- The new keyword is used to create an instance (object) of the Person class. The constructor is called to initialize the object’s fields.
- Methods:
- Methods define behavior that objects of the class can perform. In this example, the DisplayDetails method provides a way to display the person’s details.
