programming languages : design principles, implementation constructs
7. data abstraction and object orientation

    1. object-oriented programming
    2. encapsulation and inheritance
      1. modules
      2. classes
      3. type extension
    3. initialization and finalization
      1. constructor
      2. references and values
      3. execution order
      4. destructor/garbage collection
    4. dynamic method binding - polymorphism
      1. virtual and nonvirtual methods
      2. abstract classes
    5. multiple inheritance


programming units: control abstraction << | >> nonimperative programming models: functional and logical languages
dr. salih yurttas | computer science