大话类的继承,封装,多态,和接口

写前先申明一下,这个只是本人理解的,如有偏差,请大佬指点,板砖轻拍
 

类,什么是类呢??类是用来干嘛的呢??

我个人认为,类,用于定义对象,所以,类就是对象的说明(当然,这里指的事方法和属性)的一个封装,其实也可以不用类,但是为什么要用呢,因为为了代码的重用,方便,减少程序的代码量,减轻程序员的工作。你想想如果没有这个类,每一个对象我们都用一大篇代码去描述这个对象有什么属性,有什么方法,,当需要给一类对象增加或者删除一个属性或者方法的时候,我们一个个去改???, 这个是不是很蠢。

所以类的出现就是封装了一类对象的属性和方法,减少代码的重复率,减轻程序代码量,提高代码可维护性,

类的升级就是继承,这里为啥说类的继承就是类的升级呢,因为,类的继承,就是相当于,子类对父类的补充说明(就是增加自己需要的属性和方法,但是也有父类的属性和方法)

//eg
class Base       //---这里的基类我就写两个属性和方法
{
    protected int width;
    protected int height;
    public void setWidth(int w)
    {
        width = w;
    }
    public void setHeight(int h)
    {
        height = h;
    }
    
}
//--子类继承父类,但父类没有求和的这个方法,又不能再外面直接获取
//--子类的出现,就成功的解决了这个问题,我补充说明我的父类
//--其实这里用补充说明不准确,应该是继承后的自我补充说明
class SubClass:Base 
{
    public void getSum()
    {
        return width + height 
    }
}

这里就说这么多,接下来说多态,

多态其实就是相同的函数,不同的实现,用通熟易懂的话就是说,同样是说话,中国人说中文,英国人说英语,日本人说日语、、、、等,啥也不说了,直接上代码

class Speak
{
    public abstract void speakSomething();
}
class Chinese:Speak
{
     public override void speakSomething()
    {
        std::cout<<"我是说的中文";
    }
}
class English:Speak
{
     public override void speakSomething()
    {
        std::cout<<"我是说的 english";
    }
}

void main()
{
    Speak c = new Chinese();
    Speak e = new English();

    Speak arraySpeak[2] = {c,e};
    for(int i = 0;i < 2; ++i)
    {
        arraySpeak[i].speakSomething
    }
}

接下来的就是接口了,

我刚看到这的时候,我都觉得接口有点多余,为啥子呢,接口啥子都没干,就只是给了方法名称,当我看第一遍的时候,还不是很理解,回来再看一遍,的时候,我就在想了,既然人家这样设计的,肯定有这样设计的好处,不管是代码的规范化还是啥,我们在多看几遍嘛,在理解一下嘛,有看了一遍,怀着上的疑问,找了下度娘,然后在上面找到了比较容易理解的文档

附上链接

https://www.cnblogs.com/xiaowie/p/9304323.html

 

 

最后还是附上一句,个人见解,有上面不对的地方,还请大佬指点一二,板砖轻拍

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农~木子李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值