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++