Object Oriented Programming
Programming Paradigm
Object
Class
Class Relationships
class Animal // parent class
{
public virtual void Move() {
Console.WriteLine("i can move");
}
}
class Dog : Animal // child class inheritance
{
public override void Move() {
Console.WriteLine("i can run");
}
}class Customer
{
public string Name { get; set; }
public void PlaceOrder(Order order) // association
{
Console.WriteLine("Order Placed");
}
}
class Order
{
public Customer Customer { get; set; } // association
}Aggregation
class OrderItem // child class
{
public string Name { get; set; }
public int Quantity { get; set; }
}
class Order // parent class
{
private List<OrderItem> items = new List<OrderItems>(); // aggregation
public void AddItem(OrderItem item)
{
items.Add(item);
}
}Composition
Inheritance
Polymorphism
Compile-time Polymorphism / Static Dispatch
Runtime Polymorphism / Dynamic Dispatch

Abstraction
Encapsulation
Last updated