知识大全 控制对类内部数据或函数成员访问的类
Posted 知
篇首语:会挽雕弓如满月,西北望,射天狼。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 控制对类内部数据或函数成员访问的类相关的知识,希望对你有一定的参考价值。
public class ProtectClassTest public static void main(String[] args) throws ProtectClass NoAccessException ProtectClass p =new ProtectClass( chenqi ); System out println( p bankAccount: +p getField(p BANKACCOUNT_POS)); System out println( p bankPassword: +p getField(p BANKAPASSWORD_POS)); try p setMethod(p BANKACCOUNT_POS risingsoft ); catch(ProtectClass NoAccessException error) System out println( set p bankAccount: +error); try p setMethod(p BANKAPASSWORD_POS ); catch(ProtectClass NoAccessException error) System out println( set p bankPassword: +error); System out println( p bankAccount: +p getField(p BANKACCOUNT_POS)); System out println( p bankPassword: +p getField(p BANKAPASSWORD_POS)); class ProtectClass //user define exception public static final class NoAccessException extends Exception public String toString() return No privilege to access this property(field/method) ; //static final defination section public static final int BANKACCOUNT_POS= ; public static final int BANKAPASSWORD_POS= ; //Inner property state array //只需要修改以下的对象元素访问全县数组即可动态控制用户可读/写的数据成员范围 ( / / / ) private static final int[] PROPERTY_ARRAY= ; //get the property state array count private final int getPropertyCount() return (PROPERTY_ARRAY!=null)?PROPERTY_ARRAY length: ; //get the property available state public final boolean getPropertyAvailable(int pos) return (pos>= && pos<getPropertyCount())?(PROPERTY_ARRAY[pos]== ):false; //private property defination section private String bankAccount; private String bankPassword; private void setBankAccount(String bankAccount) throws NoAccessException if (getPropertyAvailable(BANKACCOUNT_POS)) this bankAccount = bankAccount; else throw new NoAccessException(); private void setbankPassword(String bankPassword) throws NoAccessException if(getPropertyAvailable(BANKAPASSWORD_POS)) this bankPassword=bankPassword; else throw new NoAccessException(); ProtectClass(String bankAccount String bankPassword) throws NoAccessException /* 如果使用这两句被屏蔽代码 则对象无法构造 this setBankAccount(bankAccount); this setbankPassword(bankPassword); */ this bankAccount=bankAccount; this bankPassword=bankPassword; ProtectClass() throws NoAccessException this( ); public final void setMethod(int methodID String param) throws NoAccessException switch(methodID) case BANKACCOUNT_POS: try setBankAccount(param); catch(NoAccessException error) throw error; break; case BANKAPASSWORD_POS: try setbankPassword(param); catch(NoAccessException error) throw error; break; private String getBankAccount() if (getPropertyAvailable(BANKACCOUNT_POS)) return bankAccount; else return null; private String getbankPassword() if(getPropertyAvailable(BANKAPASSWORD_POS)) return bankPassword; else return null; public final String getField(int methodID) switch(methodID) case BANKACCOUNT_POS: return getBankAccount(); case BANKAPASSWORD_POS: return getbankPassword(); default: return null; cha138/Article/program/Java/hx/201311/25666相关参考
一try…catch…finally结构 [csharp] usingSystem;
private关键字意味着除非那个特定的类而且从那个类的方法里否则没有人能访问那个成员同一个包内的其他成员不能访问private成员这使其显得似乎将类与我们自己都隔离起来另一方面也不能由几个合作的
C++中初始化对象的数据成员必须要用到构造函数吗?请高手详细解答!谢谢! 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们
类有一个特殊的成员函数叫做构造成员函数它通常用于初始化类的数据成员在创建对象时会自动调用类的构造成员函数Java中的构造成员函数必须与该类具有相同的名字另外构造成员函数一般都应用public类
成员函数相当于C或C++中的函数你应该用如下的方式说明一个成员函数 Typename(Parameter) //functionbody 注意每一个成员函数必须返回一个值或声明返回为空(vo
采用取成员函数指针的地址的方法先把指向成员函数指针的指针强制转化为别的类型如unsigned*当然同样可以通过此转化后的指针经过相反的变换来调用成员函数于是乎要转化为void*的问题也随之可解如下
函数在Java世界中又被称为方法(methods)是用来操作类的成员属性(attributes)的若是没有方法的存在我想属性只是一堆无聊的垃圾数据所以说操作的存在才使得这些属性有了存在的意义二者正
知识大全 C#加载Flash的AxShockwaveFlash的成员函数
C#加载Flash的AxShockwaveFlash的成员函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
用C#的类实现数据结构的堆栈算法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! usingSys
分页显示Oracle数据库记录的类(2.0) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &l