Object-oriented programming
A paradigm based on the concept of wrapping pieces of data, and behaviour related to it, into special bundles called objects, which are constructed from a set of
“blueprints”, defined by a programmer, called classes.
Objects
Objects have attributes that describe their appearance. To refer to the combined value of all attributes, we refer to the state of an object.
Abstraction
It is the process to represent the appearance and behaviour of an object in a computer program.
Encapsulation
It refers to the packaging of data fields and behaviours into a single unit (class) so that
implementation details are hidden.
Polymorphism
It is the ability of a program to detect the actual class of an object and call its implementation
even if it is declared as an instance of a parent class or abstract class.
Interface
It declared members of a class excluding their details.
-This construct must be implemented
Abstract class
A class from which no instance can be created
Struct
-It is like a class but is saved on/in the heap
-Structs are value types
A Class
-It is saved on/in the stack
-Classes are reference types
Sealed class
Another class cannot inherit from a sealed class
New
This keyword is used to hide a member of the same name in the base class
Constructor
A method that is used when an instance of a class is created (object is instantiated)
Signature
The signature of a method refers to its name and the parameter types
Overloading
It refers to methods with the same name but with different signatures.
-It is done through static polymorphism
Abstract method
-A method that has no implementation (body).
-Such a method must be overridden in derived
classes.
Virtual Method
A method that has an implementation and may be overridden in derived classes.
Association
A relation between classes that denotes “uses” or “has a”
Aggregation
A relation that
denotes “contains”