浅谈C++的面向对象


前言

注:我的笔记风格,可能不会特别官方,不会晦涩难懂,而是以一个初学者能看懂的方式把知识呈现出来,用最简单的语言把抽象的概念表达出来~

经常谈到面向对象这四个字,那么下面以C++为例,谈一下我对面向对象的理解,请往下看~


如何理解C++面向对象编程

看以下三点:

1.c++面向对象编程就是把一切事物都变成一个个对象,用属性和方法来描述对象的信息,比如定义一个猫对象,猫的眼睛、毛发、嘴巴就可以定义为猫对象的属性,猫的叫声和走路就可以定义为猫对象的方法;

2.用对象的方式编程,不仅方便了程序员,也使得代码的可复用性、可维护性变好;

3.c++面向对象的三大特性是封装、继承、多态。

封装

1.c++面向对象三大特性之一,实现对对象的属性和方法的封装。

2.对对象的属性和方法进行封装;

3.对属性和方法进行权限控制:public(类外可访问,类内可访问),private(类内可访问,类外不可访问),protected(类内可访问,类外不可访问)。

继承

1.cpp三大特性之一,可以让派生类继承自基类,实现代码的复用,is a, 可以传递。

2.三种继承方式 public、private、protected:

public:基类的public还是public,基类的protected还是protected,基类的private无法访问;

protected:基类的public是protected,基类的protected还是protected,基类的private无法访问;

private:基类的public是private,基类的protected是private,基类的private无法访问。

多态

1.多态是c++三大特性之一,为了实现,接口复用,一个接口,实现不同的方法。

2.可以分为编译时多态和运行时多态

编译时多态:在编译过程中,就可以实现接口复用,其实是重载,重载就是函数名相同,但是参数不同(个数,类型等);

运行时多态:常规的多态。

3.运行时多态的实现

(1)有继承关系;

(2)子类重写父类虚函数;

(3)父类指针指向子类对象。

拓展:虚函数的一点小规则

(1)静态成员函数,不该设置为虚函数。因为静态成员函数不属于某一个对象,属于整个类;

(2)构造函数,不该设置为虚函数。因为,虚函数指针的初始化是在构造函数中初始化的,实现多态需要得到虚函数指针,从而找到虚函数表,而如果构造函数设置为虚函数,在运行时就得不到想要的虚函数指针;

(3)析构函数,应该设置为虚函数。否则,会造成内存泄漏,只会调用父类析构函数,子类对象无法释放。

总结

本文简单的介绍了一下C++中面向对象的特点和理解,并且提供了虚函数的一点注意事项。

本系列为基础知识分享,日更,有任何问题可以私聊或评论博主哦!
希望给各位找工作和工作中的小伙伴提供一点微博的帮助,如果觉得有帮助,欢迎点赞评论收藏关注~

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值