Explain object oriented concept in C# .net.
Introduction to Object Oriented Programming (OOP) concepts in C#: Abstraction, Encapsulation, Inheritance, and Polymorphism.
OOP Features
Object Oriented Programming (OOP) is a programming model where programs are organized around objects and data rather than action and logic.
OOP allows the decomposition of a problem into a number of entities called objects and then builds data and functions around these objects.
- The software is divided into a number of small units called objects. The data and functions are built around these objects.
- The data of the objects can be accessed only by the functions associated with that
- The functions of one object that can access the functions of another OOP have the following important features.
Class
A class is the core of any modern Object Oriented Programming language such as C#. In OOP languages it is mandatory to create a class for representing data.
A class is a blueprint of an object that contains variables for storing data and functions to perform operations on the data.
A class will not occupy any memory space and hence it is only a logical representation of data.
To create a class, you simply use the keyword "class" followed by the class name: class Employee
{
}
Object
Objects are the basic run-time entities of an object-oriented system. They may represent a person, a place, or any item that the program must handle.
"An object is a software bundle of related variables and methods." "An object is an instance of a class"
A class will not occupy any memory space. Hence to work with the data represented by the class you must create a variable for the class, which is called an object.
When an object is created using the new operator, memory is allocated for the class in the heap, the object is called an instance and its starting address will be stored in the object in stack memory.
When an object is created without the new operator, memory will not be allocated in the heap, in other words, an instance will not be created and the object in the stack contains the value null.
When an object contains null, then it is not possible to access the members of the class using that object.
class Employee
{
}
Syntax to create an object of class Employee:
Employee objEmp = new Employee();
All the programming languages supporting Object Oriented Programming will be supporting these three main concepts,
1)Encapsulation
2)Inheritance
3)Polymorphism
Abstraction
Abstraction is "To represent the essential feature without representing the background details." Abstraction lets you focus on what the object does instead of how it does it.
Abstraction provides you with a generalized view of your classes or objects by providing relevant information.
Abstraction is the process of hiding the working style of an object, and showing the information about an object in an understandable manner.
Encapsulation
Wrapping up a data member and a method together into a single unit (in other words class) is called Encapsulation.
Encapsulation is like enclosing in a capsule. That is enclosing the related operations and data related to an object into that object.
Encapsulation is like your bag in which you can keep your pen, book etcetera. It means this is the property of encapsulating members and functions.
Encapsulation means hiding the internal details of an object, in other words how an object does something.
Encapsulation prevents clients from seeing its inside view, where the behavior of the abstraction is implemented.
Encapsulation is a technique used to protect the information in an object from another object.
Hide the data for security such as making the variables private, and expose the property to access the private data that will be public.
Inheritance
When a class includes a property of another class it is known as inheritance. Inheritance is a process of object reusability.
Polymorphism
Polymorphism means one name, many forms. One function behaves in different forms. In other words, "Many forms of a single object is called Polymorphism."