JAVA之抽象、封装、继承和多态

 

       抽象分为归纳和演绎,归纳是从具体到本质,从个性到共性,将一类对象的共同的特征进行归一化的逻辑思维过程;演绎是从本质到具体,从共性到个性,逐步形象化的过程。

        封装是在抽象基础上决定信息是否公开,以及公开等级,核心问题是以什么样的方式暴露哪些信息。属性值的访问与修改需要使用相应的getter/setter方法,而不是直接对public的属性进行读取和修改。在不知道什么样的访问控制权限合适的时候,优先推荐使用private控制级别。

        继承是面向对象编程技术的基石,允许创建具有逻辑等级结构的类体系,形成一个继承树,让软件在业务多变的客观条件下,某些基础模块可以被直接复用、间接复用或增强复用,父类的能力通过这种方式赋予子类。继承把枯燥的代码世界变得更有层次感,更有扩展性,为多态打下语法基础。里氏替换原则:任何父类可以出现的地方,子类都能够出现。
        继承的使用成本太低,导致出现滥用的危害:方法污染(子类不具备执行父类行为的能力,如鸟会飞,鸵鸟继承鸟类,发现飞不了)和方法爆炸(方法太多,容易出错)。
        建议优先组合或者聚合来复用其他类的能力,而不是继承。


        多态根据运行时的实际对象类型,同一个方法产生不同的运行结果,使同一个行为具有不同的表现形式。
        override翻译为覆写,是子类实现接口或者继承父类时,保持方法签名完全相同,实现不同的方法体,是垂直方向上行为的不同实现。
        overload翻译为重载,方法名称是相同的,但是参数类型或参数个数是不相同的,是水平方向上行为的不同实现。

         比如,我准备给你送一块碳,最后送给你一颗钻石,钻石就是碳的多态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值