博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.3 提炼类
阅读量:5246 次
发布时间:2019-06-14

本文共 3064 字,大约阅读时间需要 10 分钟。

【1】源代码

1 class Person 2 { 3 public: 4     QString getTelephoneNumber() 5     { 6         return ("(" + m_officeAreaCode + ")" + m_officeNumber); 7     } 8  9     QString get_name()10     {11         return m_name;12     }13     void set_name(QString strName)14     {15         m_name = strName;16     }17 18     int get_age()19     {20         return m_nAge;21     }22     void set_age(int nAge)23     {24         m_nAge = nAge;25     }26 27     bool get_male()28     {29         return m_bMale;30     }31     void set_male(bool bMale)32     {33         m_bMale = bMale;34     }35 36     QString get_address()37     {38         return m_address;39     }40     void set_address(QString strAddress)41     {42         m_address = strAddress;43     }44 45     QString get_officeAreaCode()46     {47         return m_officeAreaCode;48     }49 50     void set_officeAreaCode(QString areaCode)51     {52         m_officeAreaCode = areaCode;53     }54 55     QString get_officeNumber()56     {57         return m_officeNumber;58     }59 60     void set_officeNumber(QString number)61     {62         m_officeNumber = number;63     }64 private:65     int m_nAge; // 年龄66     bool m_bMale; // 性别67     QString m_name; // 姓名68     QString m_address; // 地址69     QString m_officeAreaCode; // 区号70     QString m_officeNumber; // 电话号码71 };

【2】提炼类

1 class TelephoneNumber 2 { 3 public: 4     QString getTelephoneNumber() 5     { 6         return ("(" + m_areaCode + ")" + m_officeNumber); 7     } 8  9     QString get_AreaCode()10     {11         return m_areaCode;12     }13 14     void set_AreaCode(QString areaCode)15     {16         m_areaCode = areaCode;17     }18 19     QString get_officeNumber()20     {21         return m_officeNumber;22     }23 24     void set_officeNumber(QString number)25     {26         m_officeNumber = number;27     }28 29 private:30     QString m_areaCode;  // 区号31     QString m_officeNumber; // 电话号码32 };33 34 class Person35 {36 public:37     QString get_name()38     {39         return m_name;40     }41     void set_name(QString strName)42     {43         m_name = strName;44     }45 46     int get_age()47     {48         return m_nAge;49     }50     void set_age(int nAge)51     {52         m_nAge = nAge;53     }54 55     bool get_male()56     {57         return m_bMale;58     }59     void set_male(bool bMale)60     {61         m_bMale = bMale;62     }63 64     QString get_address()65     {66         return m_address;67     }68     void set_address(QString strAddress)69     {70         m_address = strAddress;71     }72 73     QString getTelephoneNumber()74     {75         return (m_pTelNumber != NULL) ? m_pTelNumber->getTelephoneNumber() : QString();76     }77 78     TelephoneNumber* getTelephone()79     {80         return m_pTelNumber;81     }82 83 private:84     TelephoneNumber* m_pTelNumber;85 86     int m_nAge;87     bool m_bMale;88     QString m_name;89     QString m_address;90 };

【3】总结

某个类做了应该由两个类做的事。建立一个新类,将相关的字段和函数从旧类搬移到新类。

 

Good Good Study, Day Day Up.

顺序 选择 循环 总结

转载于:https://www.cnblogs.com/Braveliu/p/7344075.html

你可能感兴趣的文章
[bzoj1923]外星千足虫[高斯消元]
查看>>
centos下同时启动多个tomcat
查看>>
slab分配器
查看>>
分析 PHP大马-php_mof SHELL
查看>>
TCP/IP
查看>>
[推荐] 协同滤波 —— Collaborative Filtering (CF)
查看>>
python中使用中文
查看>>
数据清洗
查看>>
Android 动态加载 (二) 态加载机制 案例二
查看>>
MVC5 + EF6 + Bootstrap3 (10) 数据查询页面
查看>>
Windows下的Eclipse启动出现:a java runtime environment(JRE) or java development kit(JDK) must be.......
查看>>
PLC 通讯
查看>>
【读书笔记】C#高级编程 第三章 对象和类型
查看>>
python之decode、encode及codecs模块
查看>>
使用 Apache Pig 处理数据6
查看>>
Hadoop集群内lzo的安装与配置
查看>>
CASS 7.1 和 AutoCAD 2006的安装使用
查看>>
supervisor之启动rabbitmq报错原因
查看>>
Struts2工作原理
查看>>
二 、Quartz 2D 图形上下文栈
查看>>