第三次课后作业 1.面向对象程序设计语言 比较分析C++、Java、 Python、R语言的面向对 象特征,这些特征如何实现的?有什么相同点?
第三次课后作业 1. 面向对象程序设计语言 – 比较分析C++、Java、Python、R语言的面向对 象特征,这些特征如何实现的?有什么相同点?
1.C艹+语言的面向对象特征 1.对象模型:封装 (1)访问控制机制: C艹+提供完善的访问控制机制,分别是: public protected和 private。 表1 private, public, protected访问标号的访问范围 private, public, protected访问标号的访问范围 public可访问 1该类中的函数;2.子类的函数; 3其友元函数访问;4该类的对象访问; 可访问 1该类中的函数;2子类的函数; protecte 3其友元函数访问; 不可访问1该类的对象访问; 可访问 1该类中的函数;2其友元函数访问; private 不可访问1.子类的函数;2该类的对象访问
1. C++语言的面向对象特征 1. 对象模型:封装 – (1) 访问控制机制: – C++提供完善的访问控制机制,分别是: public, protected和private。 private, public, protected 访问标号的访问范围 public 可访问 1.该类中的函数; 2.子类的函数; 3.其友元函数访问;4.该类的对象访问; protected 可访问 1.该类中的函数;2.子类的函数; 3.其友元函数访问; 不可访问 1.该类的对象访问; private 可访问 1.该类中的函数;2.其友元函数访问; 不可访问 1.子类的函数;2.该类的对象访问; 表1 private, public, protected 访问标号的访问范围
1.C艹+语言的面向对象特征 class Base protected privat nt prl 1 nt pub mem Base(int y, int m, int d): pub mem(y), pro mem (m), pri_ mem(d)0 class Pub Son: public Base public Pub Son(int a, int b, int c): Base(a, b, c) /合法,输出10 d f1 o << pub mem < endl Base b2(40,50,60); cout b2 pub mem < endl //非法,派生类的对象不能访问继承来的保护成员 cout < b2 pro mem < endl /合法,输出10 void f2 cout < pro mem < endl /非法,派生类不能访问继承来的私有成员 id f30 cout < pri n
1. C++语言的面向对象特征
1.C艹+语言的面向对象特征 1.对象模型:封装 (2)对象的独立性: -C++中对象本身不具有独立性,也就是对象 必须属于某一个类; 3)类本身是不是对象? C++中类本身不是对象,对象是类的实例化; (4)基于类的模型,还是基于对象或原型的模型? C++是基于类的模型
1. C++语言的面向对象特征 1. 对象模型:封装 – (2) 对象的独立性: – C++中对象本身不具有独立性,也就是对象 必须属于某一个类; – (3) 类本身是不是对象? – C++中类本身不是对象,对象是类的实例化; – (4) 基于类的模型,还是基于对象或原型的模型? – C++是基于类的模型;
1.C艹+语言的面向对象特征 1.对象模型:继承 (1)类层次结构:采用单根的类层次结构,还是任意的 类层次结构? C++采用任意的类层次结构 ②2)继承方式:提供哪些继承方式? C++采用三种继承方式,分别是 public继承, protected继承, private继承 表2类的继承方式 public protected private public继承 public protected 不可用 protected继承 protected protected 不可用 private继承 private private 不可用
1. C++语言的面向对象特征 1. 对象模型:继承 – (1) 类层次结构:采用单根的类层次结构,还是任意的 类层次结构? – C++采用任意的类层次结构; – (2) 继承方式:提供哪些继承方式? – C++采用三种继承方式,分别是public继承, protected继承,private继承; public protected private public继承 public protected 不可用 protected继承 protected protected 不可用 private继承 private private 不可用 表2 类的继承方式