OOP Notes
Explore the evolution of OOP from Simula in the 1960s through Smalltalk, C++, Java, and modern languages that shaped software development.
class CargoShip extends Ship { double cargoWeight;
@Override void move(double time) { // Heavier ships move slower double adjustedSpeed = speed * (1.0 - cargoWeight / 10000.0); positionX += adjustedSpeed * time; } }
Everything is an object in Python
x = 42 print(type(x)) # <class 'int'> - even integers are objects print(x.bit_length()) # Calling a method on an integer object
Lists are objects with methods
numbers = [3, 1, 4, 1, 5] numbers.sort() # Sending the 'sort' message to the list object
#include <iostream> #include <string>
class Animal { protected: std::string name; public: Animal(std::string n) : name(n) {} virtual void speak() = 0; // Pure virtual function virtual ~Animal() {} };
class Dog : public Animal { public: Dog(std::string n) : Animal(n) {} void speak() override { std::cout << name << " says: Woof!" << std::endl; } };
int main() { Animal* pet = new Dog("Rex"); pet->speak(); // Polymorphism in action delete pet; return 0; }
| Year | Language | Innovation |
|---|---|---|
| 2000 | C# | Microsoft's improved Java alternative with properties, events |
| 2003 | Scala | OOP + functional programming on JVM |
| 2007 | Kotlin | Modern, concise OOP with null safety |
| 2010 | Rust | Ownership model replacing traditional OOP inheritance |
| 2014 | Swift | Protocol-oriented programming as alternative to inheritance |
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for History of Object-Oriented Programming.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Object Oriented Programming (OOP) topic.
Search Terms
object-oriented-programming, object oriented programming (oop), object, oriented, programming, introduction, history, oop
Related Object Oriented Programming (OOP) Topics