正在加载图片...
Visual c++ 2.继承性 真实的对象不是孤立存在的,每个对象都与其他一个或多个对象相关。事实上,当描述一个新对 象时,往往指出该新对象的特征与已存在的对象的特征有何不同。对于面向对象来说,继承性是指 个新类可以从现有的类中派生出来,新类具有父类中的所有特性,直接继承了父类的方法和数据,新 类的对象可以调用该类及父类的成员变量和成员函数。 如MFC中的 CEdit类,它封装了 Windows中的编辑框控件,它的继承结构如图3.2所示。 类 CObject是所有的MFC类的根类。类 CCmdTarget从类 CObject直 接派生,它是 Microsoft基础类库的消息映射结构的基类。类Cwnd提 供了MFC中所有窗口类的基本功能性,它封装了 Windows中的窗口句 CCmd Target 柄hWnd。类 CEdit从Cwnd直接派生,它提供了对 Windows编辑控件的 特定支持。由于CEd类继承了其基类的数据和方法,因此,可以通过 CEdit类调用Cwnd类中提供的方法来实现对标准 Windows窗口的操作 继承保证了类之间的一致性,父类可以为所有子类定制规则。利 CEdit 用继承可以开发更加贴近现实的模型,增加软件重用的机会,从而降 低开发和维护费用。子类可以继承父类的属性,也可以增加和重新定图32CEdt类的继承结构 义继承的属性。同样,子类可以继承父类的操作,也可以增加或者重新定义继承的操作,这种重新定 义被称为覆盖( Override)。 继承可分为单继承和多继承。单继承指的是子类只从一个父类继承,而多继承则允许子类可以继 承多个父类。例如,交通工具是父类,它有三个子类,分别为空中交通工具、水上交通工具和陆上交 通工具。而一个两栖交通工具则可以同时继承水上交通工具和陆上交通工具。很多面向对象的语言都 不支持多重继承,但C++支持 3.多态性 多态性是指在一般类中定义的属性或方法被特殊类继承后,可以具有不同的数据类型或表现出不 的行为功能。例如,人都有取名字的操作,但是不同的民族取名字的方式不一样,对于一个不知是 民族的人,可以让他执行“人”这个类共有的操作“取名字”时,他实际执行的是以他所属民族的 取名字操作。 在C++中,多态性定义为不同函数的同一接口。从这个定义出发,函数和操作符的重载也属于多态。 说明多态和继承中的重载( Override)是有区别的。多态是运行时问题,而重载( override)是编译 时问题 封装性、继承性和多态性是面向对象编程的三大特征,开始的时候,读者也许对它们还没有非常 清晰的概念,但这没有什么关系,当使用了一段时间C++语言,然后再回过头来看这些概念时,就会 发现对它们有了更深入的认识和了解 3.2C++语言基础 在本节,将简单介绍一下C++语言的基础,包括程序的基本控制结构、基本数据类型、运算符和 表达式、函数和指针的应用等。通过本节的讲解,读者对C++语言的基本程序结构会有所了解 励志照亮人生编程改变命运2. 继承性 真实的对象不是孤立存在的,每个对象都与其他一个或多个对象相关。事实上,当描述一个新对 象时,往往指出该新对象的特征与已存在的对象的特征有何不同。对于面向对象来说,继承性是指一 个新类可以从现有的类中派生出来,新类具有父类中的所有特性,直接继承了父类的方法和数据,新 类的对象可以调用该类及父类的成员变量和成员函数。 如MFC中的CEdit类,它封装了Windows中的编辑框控件,它的继承结构如图3.2所示。 类CObject是所有的MFC类的根类。类CCmdTarget从类CObject直 接派生,它是Microsoft基础类库的消息映射结构的基类。类CWnd提 供了MFC中所有窗口类的基本功能性,它封装了Windows中的窗口句 柄hWnd。类CEdit从CWnd直接派生,它提供了对Windows编辑控件的 特定支持。由于CEdit类继承了其基类的数据和方法,因此,可以通过 CEdit类调用CWnd类中提供的方法来实现对标准Windows窗口的操作。 继承保证了类之间的一致性,父类可以为所有子类定制规则。利 用继承可以开发更加贴近现实的模型,增加软件重用的机会,从而降 低开发和维护费用。子类可以继承父类的属性,也可以增加和重新定 义继承的属性。同样,子类可以继承父类的操作,也可以增加或者重新定义继承的操作,这种重新定 义被称为覆盖(Override)。 继承可分为单继承和多继承。单继承指的是子类只从一个父类继承,而多继承则允许子类可以继 承多个父类。例如,交通工具是父类,它有三个子类,分别为空中交通工具、水上交通工具和陆上交 通工具。而一个两栖交通工具则可以同时继承水上交通工具和陆上交通工具。很多面向对象的语言都 不支持多重继承,但C++支持。 3. 多态性 多态性是指在一般类中定义的属性或方法被特殊类继承后,可以具有不同的数据类型或表现出不 同的行为功能。例如,人都有取名字的操作,但是不同的民族取名字的方式不一样,对于一个不知是 何民族的人,可以让他执行“人”这个类共有的操作“取名字”时,他实际执行的是以他所属民族的 取名字操作。 在C++中,多态性定义为不同函数的同一接口。从这个定义出发,函数和操作符的重载也属于多态。 说明 多态和继承中的重载(Override)是有区别的。多态是运行时问题,而重载(override)是编译 时问题。 封装性、继承性和多态性是面向对象编程的三大特征,开始的时候,读者也许对它们还没有非常 清晰的概念,但这没有什么关系,当使用了一段时间C++语言,然后再回过头来看这些概念时,就会 发现对它们有了更深入的认识和了解。 3.2 C++语言基础 在本节,将简单介绍一下C++语言的基础,包括程序的基本控制结构、基本数据类型、运算符和 表达式、函数和指针的应用等。通过本节的讲解,读者对C++语言的基本程序结构会有所了解。 48 励志照亮人生 编程改变命运 零基础学 Visual C++ 图3.2 CEdit类的继承结构 CObject CCmdTarget CWnd CEdit
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有