ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
### **面向对象** 使用对象时,只关注对象提供的功能,不关注其内部细节。比如电脑——有鼠标、键盘,我们只需要知道怎么使用鼠标,敲打键盘即可,不必知道为何点击鼠标可以选中、敲打键盘是如何输入文字以及屏幕是如何显示文字的。总之我们没必要知道其具体工作细节,只需知道如何使用其提供的功能即可,这就是面向对象。 ### **特性** #### **一、封装** 每个对象包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来进行自己的操作。将方法、属性、字段包装在类中,通过实例化类来生成对象。 封装的好处: 1、好的封装能减少耦合 2、类内部的实现可以自由修改 3、类具有清晰的对外接口 封装就像建房子,类就是房子,属性是门窗,字段是房子里的东西,方法是人的行为。属性对字段有保护作用,防止字段被随意的修改或读取。 #### **二、继承** 对象的继承代表一种“is-a”关系,“子类is父类”。子类具有(继承)父类的所有特性,也可以定义自己独有的特性。 总结: 1、子类具有父类非private的属性和方法 2、子类可以扩展父类没有的属性和方法 3、子类可以重写父类的方法 继承的缺点:子类和父类具有强耦合性。 当两个类具有“is-a”关系时,适合用继承;当两个类具有"has-a"关系时,不适合用继承,比如,胳膊不适合继承自人。 **三、多态** 多态表示不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行。比如猫和狗继承自动物,猫叫和狗叫都是相同的动作-动物叫,但是实现方式不同。