因为学习过简单的C++,现在改为学习java,有些知识点过于相似,又有些不同,希望对照着学习,帮助自己学习以及记忆,记录在博客上,只为自己记录,不断补充。
- C++部分面向对象 ,java完全面向对象。
- 首先,最开始的基本语言是C语言,这是一门面向过程的语言,比如将大象放在冰箱中分为几个步骤,第一步打开冰箱,第二步将大象放入冰箱,第三部关上冰箱。这种按照流程的操作称为面向过程的操作。
- 然后出现了C++,提出了面向对象的思想,比如你是一个人,我也是一个人,我们可以归为一个类称为人类,这个类中我们有共同的属性,两个眼睛,一个鼻子…也有共同的方法,比如都会吃饭,都会睡觉…所以C++可以先定义一个人类,抽象的一个概念,然后,我们每个人是类的一个实例。但是C++仍然保留了C语言的面向过程的思想,所以说C++机油面向对象也保留了面向过程。
- java:这是一门完全面向对象的思想,不再使用面向过程的思维方式,所以在使用java的时候也要注意,每一个具体的操作都最好重新定义一个方法去做,然后调用那个方法,而不是按照以往的面向过程的思维方式去思考整个流程。
- public;private;protected三种修饰符
- C++中: 参考博客
public和private作用就是实现类的封装特征。
protected的作用就是实现继承特征。
public:用来指定公有成员。一个类的公有成员在任何地方都可以被访问。这个很容易了,既可以在本类的成员函数中所引用,也可以被类的作用域内的函数引用。
private:用来指定私有成员。private成员,不论是成员变量还是成员函数,只能由类成员(类内)和友元访问。类的对象实例是都不能访问 private 类成员的。
友元friend:友元函数;友元类
友元函数或者友元类 都可以 访问类中的私有成员。
友元函数既可以是一般函数(非成员函数),也可以是其他lei的成员函数。
实际工作中为了安全,一般不声明友元类,一般友元函数就够了。
protected:用来指定保护成员。在不涉及继承的时候protected与private的作用是相同的。所以protected成员可以被类本身以及友元访问。继承的时候:基类的private成员不能被派生类访问;基类的protected成员可以被其派生类访问。
继承:
| 基类中成员 | 在公用派生类中的访问属性 | 在私有派生类中的访问属性(几乎不用) | 在保护派生类中的访问属性 |
|---|---|---|---|
| 私有成员 | 不可访问 | 不可访问 | 不可访问 |
| 共有成员 | 公用 | 私有 | 保护 |
| 保护成员 | 保护 | 私有 | 保护 |
横向来看,就可以知道基类的私有成员在派生类中不可访问,但是基类的保护成员在派生类中是可以被访问的。
但无论哪种继承方式,上面两点都没有改变:
1.private成员只能被本类成员(类内)和友元访问,不能被派生类访问;
2.protected成员可以被派生类访问。

1197

被折叠的 条评论
为什么被折叠?



