2019/12/24 | 在校大二上学期 | 太原科技大学java
初学java后,咱们会发现java难点不在于Java语法难学,而是把咱们挂在了如何设计类的“吊绳”上了。这偏偏也是小白与入职多年的程序员的的差距之一。因此今天来分享一下个人观点:程序员
那么如何设计类呢?有没有遵循的原则可言呢?答案呢,就是下面的叙述!面试
面试官:“请你用C++/java/Python等语言以面向对象的方式,设计一个在console上运行的计算器。”编程
面试者埋头10分钟,写出了实现计算器功能的程序。 这里呢,程序就不往上弄了。可是小鸟写的程序大概是这样子的:一个class、一个main方法和一连串的代码,从头至尾就有一个类和一个主方法。可是这不利于后期运维,而且可拓展性不好。运维
因此,分"类"设计实现功能分装变得尤其重要。设计思路以下:spa
计算器最基本的功能为 :+ - * / 。能够将加减乘除分别写一个类,都去继承Operation类(父类)。那么如何给用户一个给好的操做方法呢?那么就得在设计一个类(OperationCompany类)。而这个类比较特殊,主要负责用户输入什么运算,就new 什么对象。 什么意思呢? 好比说,用户想实现乘法这个运算,那么在用户输入乘号*后,这个类的方法就会以乘法类为模板,new一个乘法类对象出来,从而去调用乘法的类方法。这种模式叫作简单工厂原则。设计
其中,加减乘除分开设计就体现了封装这一特性,而Operation(父类)的子类(加减乘除)就体现了子类的多态性。俗称“一龙生九子,九子各不一样”,正是这个道理;而子类继承父类Operation类是继承所在。因此在编程中边品边思考,才会信手拈来高质量的代码行。对象
转载注明出处: https://www.cnblogs.com/TreasureBoy-blog/blog