官术网_书友最值得收藏!

Talking about OOP

An object in the real world is a thing, like a car or a person. An object in programming often represents something in the real world, such as a product or bank account, but can also be something more abstract.

In C#, we use a class (usually) or a struct (rarely) to define each type of object. You can think of a type as being a blueprint or template for an object.

Encapsulation is the combination of the data and actions that are related to an object. For example, a BankAccount type might have data such as Balance and AccountName, as well as actions such as Deposit and Withdraw. When encapsulating, you often want to control what is allowed to access those data and actions.

Composition is about what an object is made of. For example, a car is composed of different parts such as four wheels, several seats, an engine, and so on.

Aggregation is about what is related to an object. For example, a person could sit in the driver's seat and becomes the car's driver.

Inheritance is about reusing code by having a subclass derive from a base or super class. All functionality in the base class becomes available in the derived class.

Abstraction is about capturing the core idea of an object and ignoring the details or specifics. Abstraction is a tricky balance. If you make a class more abstract, more classes would be able to inherit from it, but there will be less functionality share.

Polymorphism is about allowing a derived class to override an inherited action to provide custom behavior.

主站蜘蛛池模板: 九龙坡区| 武鸣县| 民勤县| 喜德县| 中江县| 西林县| 灵璧县| 鄂伦春自治旗| 江达县| 峨眉山市| 浙江省| 莎车县| 东源县| 乌拉特前旗| 丘北县| 旺苍县| 大邑县| 额济纳旗| 九龙城区| 丰原市| 侯马市| 阿坝县| 乡宁县| 邻水| 北川| 无为县| 高陵县| 房产| 曲松县| 石嘴山市| 宁强县| 屯门区| 裕民县| 股票| 延寿县| 香港| 外汇| 修文县| 泽州县| 阿鲁科尔沁旗| 容城县|