知识大全 控制对类内部数据或函数成员访问的类

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++中初始化对象的数据成员必须要用到构造函数吗

C++中初始化对象的数据成员必须要用到构造函数吗?请高手详细解答!谢谢!  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 构造和析构成员函数

    类有一个特殊的成员函数叫做构造成员函数它通常用于初始化类的数据成员在创建对象时会自动调用类的构造成员函数Java中的构造成员函数必须与该类具有相同的名字另外构造成员函数一般都应用public类

知识大全 类的成员函数的说明

  成员函数相当于C或C++中的函数你应该用如下的方式说明一个成员函数  Typename(Parameter)  //functionbody  注意每一个成员函数必须返回一个值或声明返回为空(vo

知识大全 怎样将成员函数指针强制转换成void*指针

  采用取成员函数指针的地址的方法先把指向成员函数指针的指针强制转化为别的类型如unsigned*当然同样可以通过此转化后的指针经过相反的变换来调用成员函数于是乎要转化为void*的问题也随之可解如下

知识大全 函数与自变量的亲密关系

  函数在Java世界中又被称为方法(methods)是用来操作类的成员属性(attributes)的若是没有方法的存在我想属性只是一堆无聊的垃圾数据所以说操作的存在才使得这些属性有了存在的意义二者正

知识大全 C#加载Flash的AxShockwaveFlash的成员函数

C#加载Flash的AxShockwaveFlash的成员函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 用C#的类实现数据结构的堆栈算法

用C#的类实现数据结构的堆栈算法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  usingSys

知识大全 分页显示Oracle数据库记录的类(2.0)

分页显示Oracle数据库记录的类(2.0)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &l