Java-- 继承的设计技巧

本文分享了作者学习Java继承的心得,包括将公共操作放在父类、避免使用受保护的域、正确实现“is-a”关系、确保覆盖方法不改变行为等关键原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        今天到了总结的时间,分享一下学习继承的心得(大佬勿笑~~) 

      

①将公共操作和域放在父类当中

        将公共操作放在超类当中,所有的子类都将继承,即减少了代码行数,有增强的封装性。例如:将name,age等属性放在person类当中,而不是student中,更符合继承设计思想。

②不要使用受保护的域

        protected机制尽量不要使用,其原因有二:第一,子类集合是无限制的,任何一个人都能够由某个类派生一个子类,并编写代码直接访问protected的实例域,从而破坏了封装性。第二,在Java语言中,在同一个包中的所有类都可以访问protected域,而不管它是否是这个类的子类。

        还有一点,protected方法对于指示那些不提供一般用途而应用在子类中重新定义的方法很有用。

③使用继承实现“is-a”的关系

        使用继承很容易达到节省代码的目的,但有时候也被滥用了。例如,假设需要定义一个钟点工类。钟点工的信息包括姓名、雇佣日期,但是没有薪水。他们是按小时计薪,而且不因加班而加薪,这似乎应该由Employee类派生子类Contractor(承包人),再添加一个hourlyWage(小时工资)的域。这并不是一个好设计,这样一来,每个钟点工对象都包含了薪水和计时工资两个域。

        钟点工和雇员之间不属于“is-a”的关系

④除非所有继承的方法都有意义,否侧不要使用继承

⑤在覆盖方法时,不要改变预期的行为

        置换原则不仅应用在语法上面,而且也可以应用于行为,这一点更加重要。在覆盖方法的时候,不应该改变行为的内涵,除非有进行的理由,编译器不会检查重新定义的方法是否有意义。

⑥使用多态

        关于多态,本人还是认为是十分重要:可以看一下我写的关于多态那篇博文,这里就不多说了

        使用多态方法或者接口编写的代码比使用对多种类型进行检测的代码更加容易维护和发展

⑦不要过多的使用反射

        反射机制使人们可以通过在运行时时查看方法、域和构造函数,这种功能实际上特别实用,但是有一点就是,不适合编写应用程序。编译器很难帮助人们发现程序当中的错误,因此只有在运行的时候才发现错误产生异常


        继承这章终于学完了,至于已经学到什么水平,当然还很浅薄,但是我相信通过每日一点一点的积累,最后成功的人一定是曾经不断努力,而且坚持下来的人,加油少年!

小伙伴们可以关注我的公众号,留言必回复哦~~~


                                                                                               Java核心基础
                                                                                        ----------------------------------
                                                                                   长按关注哦(看那两撇小胡子)

                                                                        

                                                                              基础 | 心得 | 经历 | 更重要的是开心嘛!


CH341A编程器是一款广泛应用的通用编程设备,尤其在电子工程和嵌入式系统开发领域中,它被用来烧录各种类型的微控制器、存储器和其他IC芯片。这款编程器的最新版本为1.3,它的一个显著特点是增加了对25Q256等32M芯片的支持。 25Q256是一种串行EEPROM(电可擦可编程只读存储器)芯片,通常用于存储程序代码、配置数据或其他非易失性信息。32M在这里指的是存储容量,即该芯片可以存储32兆位(Mbit)的数据,换算成字节数就是4MB。这种大容量的存储器在许多嵌入式系统中都有应用,例如汽车电子、工业控制、消费电子设备等。 CH341A编程器的1.3版更新,意味着它可以与更多的芯片型号兼容,特别是针对32M容量的芯片进行了优化,提高了编程效率和稳定性。26系列芯片通常指的是Microchip公司的25系列SPI(串行外围接口)EEPROM产品线,这些芯片广泛应用于各种需要小体积、低功耗和非易失性存储的应用场景。 全功能版的CH341A编程器不仅支持25Q256,还支持其他大容量芯片,这意味着它具有广泛的兼容性,能够满足不同项目的需求。这包括但不限于微控制器、EPROM、EEPROM、闪存、逻辑门电路等多种类型芯片的编程。 使用CH341A编程器进行编程操作时,首先需要将设备通过USB连接到计算机,然后安装相应的驱动程序和编程软件。在本例中,压缩包中的"CH341A_1.30"很可能是编程软件的安装程序。安装后,用户可以通过软件界面选择需要编程的芯片类型,加载待烧录的固件或数据,然后执行编程操作。编程过程中需要注意的是,确保正确设置芯片的电压、时钟频率等参数,以防止损坏芯片。 CH341A编程器1.3版是面向电子爱好者和专业工程师的一款实用工具,其强大的兼容性和易用性使其在众多编程器中脱颖而出。对于需要处理25Q256等32M芯片的项目,或者26系列芯片的编程工作,CH341A编程器是理想的选择。通过持续的软件更新和升级,它保持了与现代电子技术同步,确保用户能方便地对各种芯片进行编程和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值