类别是在原有类的基础上,不通过继承的方式,添加新的方法,分散类的实现,方法的私有化.
有时我们需要在一个已经定义好的类中增加一些方法,而不想去重写该类。比如,当工程已经很大,代码量比较多,或者类中已经包住很多方法,已经有其他代码调用了该类创建对象并使用该类的方法时,可以使用类别对该类扩充新的方法。
注意:1.类别只能扩充方法,而不能扩充成员变量。
2.名称冲突,即类别中的方法与现有方法重名。当发生名称冲突时,类别具有更高的优先级。可以在自己的类别方法名中增加一个前缀,以确保不发生名称冲突。
类别和扩展是有区别的:
1.扩展写法上和类别一致,只是括号中没有类别的描述
2.扩展可以添加属性.变量,而类别不能
时间: 2024-10-10 21:32:16