写前先申明一下,这个只是本人理解的,如有偏差,请大佬指点,板砖轻拍
类,什么是类呢??类是用来干嘛的呢??
我个人认为,类,用于定义对象,所以,类就是对象的说明(当然,这里指的事方法和属性)的一个封装,其实也可以不用类,但是为什么要用呢,因为为了代码的重用,方便,减少程序的代码量,减轻程序员的工作。你想想如果没有这个类,每一个对象我们都用一大篇代码去描述这个对象有什么属性,有什么方法,,当需要给一类对象增加或者删除一个属性或者方法的时候,我们一个个去改???, 这个是不是很蠢。
所以类的出现就是封装了一类对象的属性和方法,减少代码的重复率,减轻程序代码量,提高代码可维护性,
类的升级就是继承,这里为啥说类的继承就是类的升级呢,因为,类的继承,就是相当于,子类对父类的补充说明(就是增加自己需要的属性和方法,但是也有父类的属性和方法)
//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
最后还是附上一句,个人见解,有上面不对的地方,还请大佬指点一二,板砖轻拍