b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

微服务架构 云计算 重构 -改变既有代码的设计 ---- 笔记(23)

电脑杂谈  发布时间:2018-10-13 16:05:07  来源:网络整理

动机

消除重复的行为

在子类中的构造函数与父类中的构造函数是相同的

在超类中创建一个构造函数,并在子类构造函数中调用它


    class Manager extends Employee...
        public Manager (String name, String id, int grade) {
        _name = name;
        _id = id;
        _grade = grade;
    }

to


    public Manager (String name, String id, int grade) {
        super (name, id);
        _grade = grade;
    }

动机

构造函数与方法不同

消除重复的代码

父类的某个方法至于某个子类相关

将其移到子类中


    class Employee{
        int getQuota();
    }
    class Salesman extends Employee{}
    class Engineer extends Employee{}

to


    class Salesman extends Employee{
        int getQuota();
    }
    class Engineer extends Employee{}

动机

当方法只在子类中显现

超类的字段只在某个子类中用到

将这个字段移到需要它的那些子类中去


    class Employee{
        int quota;
    }
    class Salesman extends Employee{}
    class Engineer extends Employee{}

to


    class Salesman extends Employee{
        int quota;
    }
    class Engineer extends Employee{}

动机

当一个字段只在子类中使用时

类中的某些特性只被某些实例用到

新建一个子类,将上面所说的那一部分特性移到子类中去


    class JobItem   {
        getTotalPrices()
        getUnitPrice()
        getEmployee()
    }

to


    JobItem {
        getTotalPrices()
        getUnitPrice()
    }
    class class LabotItem extends JobItem   {
        getUnitPrice()
        getEmployee()
    }

动机

当一个类的行为只用在某些实例中而不用在其他类中

两个类具有相似特性

创建一个父类,然后将这两个类中相同的部分移到父类中,然后在继承这个父类


    class Department{
        getTotalAnnualCost()
        getName()
        getHeadCount
    }
    class Employee{
        getAnnualCost()
        getName()
        getId
    }

to


    class Party{
        getAnnualCost()
        getName()
    }
    class Department {
        getAnnualCost()
        getHeadCount
    }
    class Employee {
        getAnnualCost()
        getId
    }


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-89441-23.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...