3.1 面向对象的概念
3.2 类
3.3 方法
面向对象思想是将所有预处理的问题抽象为对象,同时了解这些对象具有哪些相应的属性,以及展示这些对象的行为,以解决这些对象面临的一些实际问题。面向对象设计的实质就是对现实世界的对象进行建模操作。
3.1.1
对象、类、实例化
在面向对象中,算法与数据结构被看为一个整体,称为对象。现实世界中的对象是事物存在的实体。
对象=(算法+数据结构)
程序=(对象+对象+……)
程序就是许多对象在计算机中的相继表现自己,而对象则是一个个程序实体。
类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例,根据类创建对象的过程就是一个实例化的过程。
3.1.2 面向对象程序设计语言的三大原则
1.封装
封装是面向对象编程的核心思想,将对象的属性和行为封装起来。而将对象的属性和行为封装起来的载体就是类,而类通常对客户隐藏现实细节,这就是封装的思想。
采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易直接操作此数据结构,而只能执行允许公开的数据。这样就避免了外部对内部数据的影响,提高了程序的可维护性。
2.继承
类与类之间存在各种关系,这些关系则称为关联。
关联是描述两个类之间的一般二元关系,继承就是关联的一种。
继承主要利用特定对象之间的共有属性。
在各种对象之间可以分为父类和子类。子类的实例都是父类的实例。一个类既可以是其他类的父类,为其提供属性和行为,也可以是其他类的子类,继承父类的属性和方法。
3.多态
将父类对象应用与子类的特征就是多态。
通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性。C# 中的每种类型都是多态的。类型可用作它们自己的类型或用作 Object 实例,因为任何类型都自动将 Object 当作基类型。
多态性不仅对派生类很重要,对基类也很重要。
任何情况下,使用基类实际上都可能是在使用已强制转换为基类类型的派生类对象。