Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
This lecture delves into the core features of object-oriented programming, focusing on dynamic dispatch, encapsulation, inheritance, and subtyping. The instructor explains how these features can be analyzed through translational and formal methods, using examples in Java. The lecture also covers the essence of objects, late binding, and the differences between objects and abstract data types. Various concepts such as late binding, encapsulation of state, and subtyping are explored in detail, along with practical examples and code snippets. The lecture concludes with discussions on object generators, subclass definitions, and the importance of separating method definitions from instance variables in class design.