C# Object and Class

Learn via video courses
Topics Covered

Overview

In C# programming, classes and objects stand as foundational concepts. Classes act as blueprints, defining how objects are structured and behave. Objects, in turn, are instances of classes, holding data and methods to create and manipulate distinct entities. Through this system, code becomes more organized, modular, and reusable. Classes encapsulate attributes and methods, while objects allow data storage and manipulation. With classes and objects, programmers achieve structured, effective, and secure code organization.

What are C# Classes and Objects?

At the core of C# programming lies the concept of classes and objects. A class acts as a blueprint, defining the structure and behavior of an object. Objects, on the other hand, are instances of classes that hold data and methods. They allow us to create and manipulate distinct entities in our programs.

Creating a Class

To create a class in C#, you employ the class keyword followed by the class name. Let's consider the syntax:

Syntax

C# Class Examples

Let's explore different class examples to understand how they work in C#:

Output:

In this example, we defined a Car class with properties and a method. We then created an object car1 of the Car class, set its properties, and called the DisplayInfo method.

Having Main() in Another Class

Certainly, here's a complete example of a C# console application where the Main() method is placed in another class

Let's create two classes: Program and Calculator. The Program class will contain the Main() method, and the Calculator class will perform a simple calculation.

Output

In this example, the Main() method is in the Program class, and the Calculator class contains static methods for performing arithmetic operations. The Main() method takes user input, performs calculations using the Calculator class, and displays the results. Having Main() in a separate class helps maintain a cleaner code structure and separation of concerns, making it easier to manage and extend your application.

Initialize and Display Data Through Method

In this example, we'll initialize and display data through a method within a class:

Output:

Here, we created a Product object and initialized its data using the InitializeData method. We then displayed the information using the DisplayInfo method.

Store and Display Data

In this example, we'll demonstrate how to store data within a class and later display it:

Output:

In this example, we created an array of Book objects, initialized them, and displayed their information using a loop.

These examples showcase different class structures and their practical use cases in C#.

Creating an Object

Creating an object involves instantiating a class. The new keyword is used to create an instance of a class. In C#, here's how we create an object of the class.

Syntax

For instance, by creating a Person2 object, we can effectively employ its methods to manage and present individual information.

Example

Here In the above example, dot notation is used to access the field of the class

Syntax

C# Objects Examples

In this section, we'll explore C# objects with practical examples. Objects are instances of classes, and they allow us to work with data and methods defined within a class.

Output:

In the above example, we defined a Person class with properties and a method. We then created an object person1 of the Person class, set its properties, and called the DisplayInfo method.

Access Class Members using Object

Now, let's delve into accessing class members (fields and methods) using objects.

Output:

In this example, we accessed object properties and called a method using the person1 object.

Creating Multiple Objects of a Class

Often, you'll need to create multiple objects of a class to work with different instances. Here's how you can do that:

Output:

Here, we created two objects (person1 and person2) of the Person class, each with its own set of properties, and displayed their information.

Creating Objects in a Different Class

Lastly, let's see how to create objects in a different class and access them:

Output:

In this example, we created an object person1 of the Person class within the AnotherClass class and accessed it.

These examples demonstrate the basics of working with objects in C# and how to create, access, and utilize them effectively.

Why Objects and Classes?

Objects and classes bring several advantages to the table that make programming more efficient and organized:

  • Modularity:
    By using objects and classes, code can be organized into distinct and manageable sections. This makes it easier to understand and maintain the different parts of a program, as each class can focus on a specific task.
  • Reusability:
    Classes can be reused across different parts of a program or even in entirely separate projects. This saves time and effort since well-designed classes can be repurposed without needing to rewrite the same code.
  • Abstraction:
    With classes, complex systems can be represented in a simplified manner. You can hide the intricate details behind a class's interface, making it easier to interact with and understand the system as a whole.
  • Encapsulation:
    Objects encapsulate data and the methods that operate on that data. This bundling of related components improves security and reduces the chances of unintended interactions, as the internal workings of a class are hidden from outside access.

By employing objects and classes, programmers can create more organized, reusable, and secure code that efficiently represents complex systems while maintaining a clear separation of concerns.

Conclusion

In conclusion, classes and objects are fundamental concepts in C# programming that offer significant features:

  • Objects and classes are essential in C# and OOP, serving as the building blocks for structured and reusable code.
  • Throughout this article, we explored practical class creation, including constructors, properties, and methods, to understand how classes encapsulate data and behaviour.
  • It's important to note that the Main() method can be located in a different class, which can greatly enhance code organization and readability in larger applications.
  • We've covered the vital operations of initializing and displaying data, showcasing the practical use of methods within classes.
  • Creating multiple objects from a single class allows you to manage distinct instances efficiently, making it a valuable technique in many programming scenarios.
  • In summary, objects and classes are at the core of C# programming, enabling you to write clean, modular, and maintainable code. By grasping these concepts and their real-world applications.