I’ve been busy with work for the past few months, and most of what I learned is nearly gone. I happened to notice that hiring companies always bring up oop thinking, and to be honest I really don’t know how much oop I actually use in real development, so let me review it first. The Chinese name for oop is 面向对象, meaning object-oriented; what is it mainly for — writing code? Let me look through some references: oop is a programming paradigm, and also a software development method. What use is it: it takes objects as the basic unit of a program and encapsulates the program and the data within them, in order to improve the reusability, flexibility, and extensibility of software. Optimizing code? Sort of. The core ideas of object orientation: objects (classes), encapsulation, reusability and extensibility (the last two can also be called inheritance and polymorphism).

