请问OOP设计高手,什么时候该用静态成员方法,什么时候该用普通成员方法?可否有相应的设计原则?
时间:2010-01-07
来源:互联网
请问OOP设计高手,什么时候该用静态成员方法,什么时候该用普通成员方法?可否有什么设计原则呢?

作者: mofe 发布时间: 2010-01-07
我来做个比喻吧,就像一个木匠做木工活,什么时候用大块木板,什么时候用小块木板,这必须在有足够经验的前提下在具体工作中才能看得出来。不知道比喻得恰不恰当,楼主姑且看看吧
作者: yangfuliang 发布时间: 2010-01-07
唉,楼上的回答不满意。我来总结一下我的认识吧~ 也许有不对的地方,还请多指教
相较于以前的编程手法,参数化身为属性,函数化身为方法,由于类本身的封装特性和结构,衍生出访问器和设置器还有构造函数。
--验证函数库中的验证函数化身为类(静态)验证方法,返回bool or string
--多行数据获取以前是返回数组,现在同样变化为类的(静态)数据获取方法,这里(返回对象)
不同是,在静态方法中构建自身对象来返回保存这些相应属性和处理方法的对象,这样减少了以前在函数中参数传递的过程
--数据的处理函数化身为类的(普通成员方法),可以操作上面步骤中实例化后对象的属性(也可以理解为传递的参数),
返回 bool or string
##这里是设置不同的变量类型(数字或数组)手段,配合使用,访问器/设置器来保护属性的安全
##类属性的编译器访问规则(猜测),假设属性字段为私有
1。编译武器检查类成员访问位置是否在类内。
2.true,编译器直接检查类内了否存在相应属性,若不存在,
编译器检查类可否有访问器,若有的话,使用类的访问器访问类的成员属性,若还不存在,报错!
false,编译器检检查类可否有访问器,若存在访问器,即使用访问器访问私有属性,
若不存在,访问器即报错(不允许在类外访问类的私有成员属性)!
相较于以前的编程手法,参数化身为属性,函数化身为方法,由于类本身的封装特性和结构,衍生出访问器和设置器还有构造函数。
--验证函数库中的验证函数化身为类(静态)验证方法,返回bool or string
--多行数据获取以前是返回数组,现在同样变化为类的(静态)数据获取方法,这里(返回对象)
不同是,在静态方法中构建自身对象来返回保存这些相应属性和处理方法的对象,这样减少了以前在函数中参数传递的过程
--数据的处理函数化身为类的(普通成员方法),可以操作上面步骤中实例化后对象的属性(也可以理解为传递的参数),
返回 bool or string
##这里是设置不同的变量类型(数字或数组)手段,配合使用,访问器/设置器来保护属性的安全
##类属性的编译器访问规则(猜测),假设属性字段为私有
1。编译武器检查类成员访问位置是否在类内。
2.true,编译器直接检查类内了否存在相应属性,若不存在,
编译器检查类可否有访问器,若有的话,使用类的访问器访问类的成员属性,若还不存在,报错!
false,编译器检检查类可否有访问器,若存在访问器,即使用访问器访问私有属性,
若不存在,访问器即报错(不允许在类外访问类的私有成员属性)!
作者: mofe 发布时间: 2010-01-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28