面向对象是什么意思,python面向对象
向上转型向上转型是安全的,属于“瘦身”;即只能调用父类的方法;子类可以复写父类的方法(多态的一种表现),这时候向上转型调用父类方法时实际上执行的是子类的方法;向上转型是基于继承为基础的;向上转型不需要强制;系统会自己进行;向下转型需要强制;向下转型是不安全的,在运行时可能会出错误;向下转型为“增肥”过程;一般需要判断下是否属于这个子类;instanceof抽象类在Java的世界万物兼对象,有些对象是实例对象如大众汽车、宝马、奥迪;有些对象是没有实例的如:东西、物体、汽车、人类、学生、动物等等是抽
向上转型
向上转型是安全的,属于“瘦身”;即只能调用父类的方法;子类可以复写父类的方法(多态的一种表现),这时候向上转型调用父类方法时实际上执行的是子类的方法;向上转型是基于继承为基础的;向上转型不需要强制;系统会自己进行;向下转型需要强制;向下转型是不安全的,在运行时可能会出错误;向下转型为“增肥”过程;一般需要判断下是否属于这个子类;instanceof抽象类
在Java的世界万物兼对象,有些对象是实例对象如大众汽车、宝马、奥迪;有些对象是没有实例的如:东西、物体、汽车、人类、学生、动物等等是抽象的,也是通用的,所以要定义为抽象类;所以可以使用抽象类来定义一些通用的东西,给扩展留有余地;抽象类是不能实例化的;只能使用子类来实例化;
2. 模板方法设计模式是抽象类的典型使用方式;
3. 抽象类符合向上转型;
4. 含有抽象方法的类一定是抽象类;抽象类不一定含有抽象方法;
5. 抽象类中可以有属性、方法、构造方法,但是构造方法不是用来new对象的,因为抽象类是没有实例的而是用来被子类调用的;
6. 抽象类的抽象方法必须被子类实现;
接口
接口是抽象中的抽象;只定义接口没有实现;接口是设计师用来隔离设计和实现的。即设计和实现进行分离;总结
上面有句话说不同public的话没有意义,其实写到这里我们可以基本认为接口和抽象类是一种规则了,它规定你这样用,你只要继承或者实现,就必须要按照他的来,所以我们对应到现实生活中的话,就是说是一种规则,既然是规则就是给别人看的,你一个公司制定出来了规章制度,不公布,别人怎么遵守?一个道理,如果不用public修饰别人引用不到,和不规定是一样的。所以JDK也明白,所以这里的方法你写不写public他都默认帮你加上!
下面讲实现
我们说了,抽象类也好,接口也好,不继承,不实现都是没有意义的,但是因为接口里面只有抽象方法,所以他必须被实现才有意义,不然就会被垃圾回收机制System.gc给回收掉,前面的文章说过了垃圾回收的原理,这里不做赘述,但是为什么不继承呢?有人说了?既然要被实现里面的方法,直接继承不行了吗?是的,但是类的继承只能是单继承,所以,如果一个类里面有很多的接口,怎么做?所以只能是实现!
但是有人说了,如果很多接口,最后一个继承了上面的所有接口,那我实现的时候是不是需要实现所有接口的方法?答案是肯定的。
4-17
面向对象不停感悟
一个类如果没有实例则这个类定义为抽象类,抽离公共属性和方法。抽不出来则定义抽象方法让子类去实现;使用时用抽象类指向子类;子类也可以覆写抽象类中的非抽象方法,这叫做多态;可以定义一个工厂来生成子类什么是面向对象?
面向对象(ObjectOriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
什么是面向对象?
面向对象(ObjectOriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
免责申明:以上内容属作者个人观点,版权归原作者所有,不代表恩施知识网立场!登载此文只为提供信息参考,并不用于任何商业目的。如有侵权或内容不符,请联系我们处理,谢谢合作!
当前文章地址:https://www.esly.wang/jiankang/26811.html 感谢你把文章分享给有需要的朋友!
文章评论