M_ary  
本人热爱编程...更期待和谐的团队.. 有意者,请发送邮件与我.. wangkang198802@126.com

  1)概念回顾

   1 字段,反映了对象的状态,一律为private,调用者只能通过方法来试图改变该对象  
      的状态,至于是否改变,是有类自己来决定的。  

   2 Person p1=new Person();    p1.height=182; //修改p1指向的对象的属性为182  

   3 也可以让对象作为参数进行引用传递,即函数间传递的类的对象也是引用传递  

   4 p1=null; p1不指向任何对象,若果p1之前指向了对象,则切断p1和对象间的关系    若果强行赋值,会出现运行时的错误。  

   5 this在类内的作用是,明确的说明了调用的是自己本对象的成员  

   6 get只读属性;set只写属性。  

   7 构造函数--也是用来创建对象,不过用来对对象的状态进行了初始化。

2)关于继承    

   1 Person p=ch1; 父类可以指向子类指向的对象,但不能越界,只能用属于自己的部 
        分。除非子类重写了父类,但是,必须是重写。 

   2 (关于继承吗,在父子类调用时,最主要的是理解其各自的所有权问题,即父类堆内存中有子类的成员吗,若有那就OK,反之亦然)

        Chinese c = new Chinese();  //1、先声明子类对象          

        c.Say();  //          

        Person p = c;  //2、因为子类中有Person的成员          

        p.Say();  // 只能用自己的

        Person p2 = new Person();    //3、声明新的父类       

        Chinese c2 = (Chinese)p2; //错误,因为父类中没有子类的成员,运行时会出错            

        Chinese c2 = (Chinese)p;   //正确,因为父类指向的对象中,确实有子类的成员            

        c2.Say();   //还是用自己的方法,不用父类的

   3   as的使用,也是强制的将父类对象转为子类对象,但是转换不成功(父类中没有子  类成员时),不会报错,只会让对象指向为Null      

      Person p1=new Japanese(); Chinese c3= p1 as Chinese; //c3结果为Null  

   4   is的使用,用来判断一个变量知否指向了该对象        if(p1 is Japanese){}

posted on 2011-06-07 16:12  M_ary  阅读(210)  评论(0)    收藏  举报