现在的位置: 首页 > 综合 > 正文

基于类的权限访问的探究

2018年05月11日 ⁄ 综合 ⁄ 共 1596字 ⁄ 字号 评论关闭

  /**2011年3月14日

 
* Hacked by Younger.shen
*http://www.hack2me.com
*younger.x.shen@gmail.com
*/
 
 
 
 
 
基于类的权限访问的探究
 
方法可以访问所调用对象的私有数据,一个方法可以访问所属类的对象的私有数据;
(1)
 
其实这一特性之前就有研究过,不过是在c++下,并没有感觉到特别疑惑,不过现在感觉还是没有搞清楚原理,和缘由到底是怎么回事,
通过上一次的c++比赛时做的那个同学录,由于写的程序是基于我的水平来说是比较长的,大概就500 600行的样子,感觉收获最大的其实并不是获得了多少经验,或者说是代码质量的关系,而是由于编程语言的体系结构,以及其中的关键概念的理解方面,在比较大型的程序著作过程中,有一点理解不到位的话那么在程序基本成型以后你会发现有一个技术缺陷是很难改正的,而且需要修改很大量的程序,而且不止是一个技术缺陷或者说是bug那么简单,当初我的体会就是,感觉整个编程思想就是错误的,在数据结构也就是类的设计方面根本不到位,重复重复了1个多星期,当然现在看起来那就是个垃圾。当然c++的语法美感远远不及java,如果你的编辑器有一个好字体的话那就更美了。而且我感觉到算法并不能很好的解决所有的设计问题,而且我认为数据结构优于算法。
(2)
java的非对称数组的设计让我们更容易实现一个杨辉三角或者是乘法口诀表什么的东西,当然我认为这是相当不错的设计,如果我去做的话可能并不一定会这么设计。
“能力越大,责任就越大”这是蜘蛛侠的养父对他说的最后一句话,在严格控制数据的权限和丰富的功能上来看,这也确实符合编程之道,而且并不是软件工程之道,java的丰富类库以及她的好几万个API 让我惊喜的同时也很苦恼,查找手册往往很困惑,这到底是怎么样的继承关系,在权限方面也是十分复杂,就java编程思想这本书,似乎描述的更加复杂。
(3)
现在来说一下前面的问题,代码在文章的末尾给出完整版本
比方说现在的定义关系如下
 
public class main{
public static void main(string[] args)
{
Employer s=new Employee("lily","20");
Employer d=new Employee("leon","20");
d.getSalary(s);
if(leon.equals(lily))
{****}
}
 
class Employee{
private  double Salary;
private final string name;
private int age;
public getSalary(Employee);
{
 
*****************
}
 
 
 
 
 
怎么说呢,可能写的不很专业,也许还是理解不到位把,对于一个类的某个对象可以通过类中定义的方法可以访问到自己的类的私有数据,这是应该的,这个原因显而易见,而在下面的比较语句中,本对象调用了该类的一个函数访问到了其他对象中的私有数据,当然在以前的
c++中我们也是这么做的,而且丝毫不奇怪,为什么同时可以访问别的对象的私有数据,答案今天已经很清楚了,那就是因为他们是同类的,或者说是同一个继承族,这样才可以用这样的方法进行访问,实现一个类,很多经验都表明先定义构造器然后是方法最后是数据域,而且数据域的对象更要小心谨慎,封装严禁,才是一个拿的出去的好类,对于不能够被改变的数据域就直接final就好了。
 
这是今天读书的时候想到的,今天看了老生作品展,感觉相当意外,其实上大学之前自己一直很颓废的,高中其实就不想上了,不过老爸看的起我,说去学软件吧,别老玩游戏了,然后就是家里都是学习好的人嘛,我倒没什么,怕我爸压力大,一直走到现在,很感谢之前的c++老师那么认真指导我,也庆幸自己的决定,我还是很有用的嘛!
 
如果在有个好点的计算机就好了!
 
 

抱歉!评论已关闭.