Class 1: Introduction¶
What is Object-oriented Programming¶
computers are not so much machines as they are mind amplification tools and a different kind of expressive medium. As a result, the tools are beginning to look less like machines and more like parts of our minds, and also like other expressive mediums such as writing, painting, sculpture, animation, and filmmaking. **Object-oriented programming is part of this movement toward using the computer as an expressive medium.
Buzzwords of it¶
- responsibility-driven design
- Encapsulation
- Inheritance
- iterators
- overriding
- coupling
- cohesion
- template
- interface
- collection classes
- mutator methods
- Polymorphism
Four main characters of C++¶
- Encapsulation(封装)
- Abstraction(抽象)
- Inheritance(继承)
- Polymorphism(多态)
The First C++ Program¶
To choose development environment¶
Windows:
- visual studio
Linux, macOS:
- g++, clang, ...(compiler)
- visual studio code(editor)
Read Input¶
How do we read the input in C++? Let's see the example below:
The strengths and weakness of C¶
For C language:
Strengths:
- Efficient programs
- Direct access to machine, suitable for OS and ES
- Flexible
Weakness:
- Insufficient type checking
- Poor support for programming-in-the-large
- Procedure-oriented programming
The relationship between C and C++¶
Actually C is a subset of C++