1223访问权限、继承关系、值类型和引用类型

一、访问权限

a、类的访问权限(修饰符):

  public:跨程序集,命名空间,必须要using引用

  internal:默认,自己当前命名空间范围,不可以跨越使用

  成员的访问权限(修饰符):

  public:公共的,可以跨空间、跨程序集使用

  private:私有的,只能在当前类使用

  protect:受保护的,只能在当前类和子类使用

  internal:当前命名空间可以使用,但是会随着所在类的范围而定,当我们把类的范围改为public时,则internal的成员也可以   随之在其他命名空间使用;

 

二、继承

继承:类与类之间的关系:父子关系;

包括:公有继承(public)、私有继承(private)、保护继承(protected) 等。继承可以使现有的代码具有可重用性和可扩展性。

注意:

(1)子类继承父类,一个类只能继承一个父类

(2)当子类继承父类之后就拥有了父类的公共属性和方法

(3)子类对象可以直接转换为父类类型,但父类对象不能直接转换为子类类型。

(4)当某个父类对象是通过子类对象转换来的时候,通过父类类型不能点出来子类的属性和方法,只有当从某个子类对象转换来的          父类对象,才能再转换回去

 

注意:Lion s1=(Lion)a;在生成的时候没有问题,但是运行之后会报错

三、引用类型和值类型之间的区别

a、引用类型:由类型的实际值引用(类似于指针)表示的数据类型。如果为某个变量分配一个引用类型,则该变量将引用(或"指向")原     始值。

  引用类型之间的赋值:

  对象的等号赋值,实际赋值的是指向

  Class1 c = new Class1();
  Class1 d = c; 那么d和c是一个东西。
  c和d指向的属性都是一样的,如果其中一个改变了其中的属性,另一个也会改变

b、值类型:将一个值类型变量赋给另一个值类型变量时,将复制包含的值。这与引用类型变量的赋值不同,引用类型变量的赋值只复制对对象的引用,而不复制对象本身。

  值类型之间的赋值:
  另外开辟一个空间,将这个值直接放进去
  int i=1;
  int h=i;h是新开辟的空间

 

posted @ 2015-12-23 15:10  会唱歌的独角兽  阅读(156)  评论(0编辑  收藏  举报