KEMBAR78
Learn C# Programming - Classes & Inheritance | PDF
Learn C# Programming
Classes & Inheritance
Eng Teong Cheah
MVP Visual Studio & Development Technologies
Classes
Classes
When you define a class, you define a blueprint for a data type. This does not actually
define any data, but it does define what the class name means. That is, what an object
of the class consists of and what operations can be performed on that object. Objects
are instances of a class. The methods and variables that constitute a class are called
members of the class.
Defining a Class
A class definition starts with the keyword class followed by the class name; and the class
body enclosed by a pair of curly braces. Following is the general form of a class
definition -
Defining a Class
Note –
- Access specifiers the access rules for the members as well as the class itself. If not
mentioned, then the default access specifier for a class type is internal. Default access
for the members is private.
- Data type specifies the type of variable, and return type specifies the data type of the
data the method returns, if any.
- To access the class members, you use the dot(.) operator.
- The dot operator links the name of an object with the name of a member.
Demo – Defining a Class
Member Functions and Encapsulation
A member function of a class is a function that has its definition or its prototype within
the class definition similar to any other variable. It operates on any object of the class of
which it is a member, and has access to all the members of a class for that object.
Member variables are attributes of an object (from design perspective) and they are
kept private to implement encapsulation. These variables can only be accessed using
the public member functions.
Demo – Member
Functions and
Encapsulation
C# Constructors
A class constructor is a special member function of a class that is executed whenever we
create new objects of that class.
A constructor has exactly the same name as that of class and it does not have any
return type.
Demo – C# Constructor
C# Constructors
A default constructor does not have any parameter but if you need, a constructor can
have parameters. Such constructors are called parameterized constructors.
Demo – Parameterized
Constructor
C# Destructors
A destructor is a special member function of a class that is executed whenever an object
of its class goes out of scope. A destructor has exactly the same name as that of the
class with a prefixed tilde (~) and it can neither return a value nor can it take any
parameters.
Destructor can be very useful for releasing memory resources before exiting the
program. Destructors cannot be inherited or overloaded.
Demo – Destructors
Static Members of a C# Class
We can define class members as static using the static keyword. When we declare a
member of a class as static, it means no matter how many objects of the class are
create, there is only one copy of the static member.
The keyword static implies that only one instance of the member exists for a class. Static
variables are used for defining constants because their values can be retrieved by
invoking the class without creating an instance of it. Static variables can be initialized
outside the member function or class definition. You can also initialize static variables
inside the class definition.
Demo – Static variables
Static Members of a C# Class
You can also declare a member function as static. Such functions can access only static
variables. The static functions exist even before the object is created.
Demo – Static functions
Inheritance
Inheritance
One of the most important concepts in object-oriented programming is inheritance.
Inheritance allows us to define a class in terms of another class, which makes it easier to
create and maintain and application. This also provides an opportunity to reuse the
code functionality and speeds up implementation time.
When creating a class, instead of writing completely new data members and member
functions, the programmer can designate that the new class should inherit the members
of an existing class. This existing class is called the base class, and the new class is
referred to as the derived class.
The idea of inheritance implements the IS-A relationship. For example, mammal IS
A animal, dog IS-A mammal hence dog IS-A animal as well, and so on.
Base and Derived Classes
A class can be derived from more than one class or interface, which means that it
can inherit data and functions from multiple base classes or interfaces.
The syntax used in C# for creating derived classes is as follows −
Demo – Base and
Derived Classes
Initializing Base Class
The derived class inherits the base class member variables and member methods.
Therefore the super class object should be created before the subclass is created. You
can give instructions for superclass initialization in the member initialization list.
Demo – Initializing Base
Class
Multiple Inheritance in C#
C# does not support multiple inheritance. However, you can use interfaces to
implement multiple inheritance.
Demo – Multiple
Inheritance in C#
Related Content
TutorialsPoint
www.tutorialspoint.com
Thank you

Learn C# Programming - Classes & Inheritance

  • 1.
    Learn C# Programming Classes& Inheritance Eng Teong Cheah MVP Visual Studio & Development Technologies
  • 2.
  • 3.
    Classes When you definea class, you define a blueprint for a data type. This does not actually define any data, but it does define what the class name means. That is, what an object of the class consists of and what operations can be performed on that object. Objects are instances of a class. The methods and variables that constitute a class are called members of the class.
  • 4.
    Defining a Class Aclass definition starts with the keyword class followed by the class name; and the class body enclosed by a pair of curly braces. Following is the general form of a class definition -
  • 5.
    Defining a Class Note– - Access specifiers the access rules for the members as well as the class itself. If not mentioned, then the default access specifier for a class type is internal. Default access for the members is private. - Data type specifies the type of variable, and return type specifies the data type of the data the method returns, if any. - To access the class members, you use the dot(.) operator. - The dot operator links the name of an object with the name of a member.
  • 6.
  • 7.
    Member Functions andEncapsulation A member function of a class is a function that has its definition or its prototype within the class definition similar to any other variable. It operates on any object of the class of which it is a member, and has access to all the members of a class for that object. Member variables are attributes of an object (from design perspective) and they are kept private to implement encapsulation. These variables can only be accessed using the public member functions.
  • 8.
    Demo – Member Functionsand Encapsulation
  • 9.
    C# Constructors A classconstructor is a special member function of a class that is executed whenever we create new objects of that class. A constructor has exactly the same name as that of class and it does not have any return type.
  • 10.
    Demo – C#Constructor
  • 11.
    C# Constructors A defaultconstructor does not have any parameter but if you need, a constructor can have parameters. Such constructors are called parameterized constructors.
  • 12.
  • 13.
    C# Destructors A destructoris a special member function of a class that is executed whenever an object of its class goes out of scope. A destructor has exactly the same name as that of the class with a prefixed tilde (~) and it can neither return a value nor can it take any parameters. Destructor can be very useful for releasing memory resources before exiting the program. Destructors cannot be inherited or overloaded.
  • 14.
  • 15.
    Static Members ofa C# Class We can define class members as static using the static keyword. When we declare a member of a class as static, it means no matter how many objects of the class are create, there is only one copy of the static member. The keyword static implies that only one instance of the member exists for a class. Static variables are used for defining constants because their values can be retrieved by invoking the class without creating an instance of it. Static variables can be initialized outside the member function or class definition. You can also initialize static variables inside the class definition.
  • 16.
    Demo – Staticvariables
  • 17.
    Static Members ofa C# Class You can also declare a member function as static. Such functions can access only static variables. The static functions exist even before the object is created.
  • 18.
    Demo – Staticfunctions
  • 19.
  • 20.
    Inheritance One of themost important concepts in object-oriented programming is inheritance. Inheritance allows us to define a class in terms of another class, which makes it easier to create and maintain and application. This also provides an opportunity to reuse the code functionality and speeds up implementation time. When creating a class, instead of writing completely new data members and member functions, the programmer can designate that the new class should inherit the members of an existing class. This existing class is called the base class, and the new class is referred to as the derived class. The idea of inheritance implements the IS-A relationship. For example, mammal IS A animal, dog IS-A mammal hence dog IS-A animal as well, and so on.
  • 21.
    Base and DerivedClasses A class can be derived from more than one class or interface, which means that it can inherit data and functions from multiple base classes or interfaces. The syntax used in C# for creating derived classes is as follows −
  • 22.
    Demo – Baseand Derived Classes
  • 23.
    Initializing Base Class Thederived class inherits the base class member variables and member methods. Therefore the super class object should be created before the subclass is created. You can give instructions for superclass initialization in the member initialization list.
  • 24.
  • 25.
    Multiple Inheritance inC# C# does not support multiple inheritance. However, you can use interfaces to implement multiple inheritance.
  • 26.
  • 27.
  • 28.