网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
{
//........
if(openRefrigerator()) // 判断是否可以打开冰箱
{
pushElephant(); // 放进大象
closeRefrigerator(); // 关闭冰箱
}
//.......
}
**接下来步入正题,说下面向对象。**
面向对象编程(Object-oriented programming,简写:OOP)是一种计算机编程模型,它围绕数据或对象而不是功能和逻辑来组织软件设计,更专注于对象与对象之间的交互,对象涉及的方法和属性都在对象内部。说的更底层一点就是面向对象是一种依赖于类和对象概念的编程方式。
面向对象的编程语言包括:C++、Java、Python、C#以及JavaScript等。
**类:**是相同种类对象的抽象,是它们的公共属性。
**对象:**对象是类的实例。
面向对象将一个事物描述为一个对象,这个对象包括各种属性和方法,例如上面把大象装进冰箱的例子,冰箱的属性包括:长、宽、高、温度等,方法有:打开、关闭、存储等,这些属性和方法都属于这个对象。
在现实生活中,一座楼、一辆车、一个班级、一个人等都可以对象化。
同样,也把大象放进冰箱为例进行说明,面向对象的方式为:
冰箱是一个对象,大象也是一个对象。冰箱有自己的方法,打开、存储、关闭,有自己的属性:长、宽、高等。大象也有自己的方法,吃、走路等,有自己的属性:体重、高度、体积等。
可以用下图来表示:
![](https://img-blog.csdnimg.cn/20210714074532589.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTEwNzQxNDk=,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20210714074541973.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTEwNzQxNDk=,size_16,color_FFFFFF,t_70)
转化为代码就是:
#include
using namespace std;
class Elephant
{
private :
int length; // 长
int weight; // 重量
public :
// 吃
bool eat()
{
//…
}
};
class Refrigerator
{
private :
int length; // 长
int width; // 宽
int height; // 高
public :
// 打开冰箱
bool openRefrigerator()
{
//…
}
// 放进大象
bool pushElephant(Elephant elephant)
{
//........
}
// 关闭冰箱
bool closeRefrigerator()
{
//........
}
};
int main()
{
Refrigerator ref; // ref 冰箱对象
Elephant ele; // ele 大象对象
if(ref.openRefrigerator()) // 打开冰箱
{
ref.pushElephant(ele); // 放进大象
ref.closeRefrigerator(); // 关闭冰箱
}
}
最后,来看一下面向过程和面向对象的区别,如下所示:
**(1)安全性**
面向对象比面向过程安全性更高,面向对象将数据访问隐藏在了类的成员函数中,而且,类的成员变量和成员函数都有不同的访问属性。而面向过程并没有合适的方法来隐藏程序数据。
**(2)程序设计上**
面向过程通常将程序分为一个个的函数,而面向对象编程中通常使用一个个对象来,函数通常是对象的一个方法。
**(3)过程**
面向过程通常采用自上而下的方法,而面向对象通常采用自下而上的方法。
**(4)程序修改**
本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。
最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。
最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。
![](https://img-blog.csdnimg.cn/img_convert/311903982dea1d8a5d2c98fc271b5b41.jpeg)
### 学习路线图
其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。
相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。
![](https://img-blog.csdnimg.cn/img_convert/1ddfaf7dc5879b1120e31fafa1ad4dc7.jpeg)
#### 网络安全工具箱
当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份**我自己整理的网络安全入门工具以及使用教程和实战。**
![](https://img-blog.csdnimg.cn/img_convert/bcd1787ce996787388468bb227d8f959.jpeg)
#### 项目实战
最后就是项目实战,这里带来的是**SRC资料&HW资料**,毕竟实战是检验真理的唯一标准嘛~
![](https://img-blog.csdnimg.cn/img_convert/35fc46df24091ce3c9a5032a9919b755.jpeg)
#### 面试题
归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**