12-12面向对象--引用类型与值类型、命名空间与类库、继承(父类与子类)
2014-12-12 22:20
351 查看
五、引用类型与值类型
.NET将变量的类型分为值类型与引用类型。例如int和float之类的变量属于值类型,而“类“类型的变量属于引用类型。
值类型与引用类型的变量在使用上是有区别的。
值类型的变量在一定义之后就可以马上使用。
引用类型的变量定义之后,还必须用new关键字创建对象后才可以使用。
如上图,创建两个新的对象时,直接比较两个对象是否相等,返回的bool值为false.因为两个对象都是新开辟的一个空间变量,彼此没有任何关系,所有是不相等的。
如图2:1)创建的第一个新的对象ss1,给ss1中的属性分别赋值;再创建第二个新的对象ss2,直接比较ss1和ss2,仍然不相等;
2)但是,当执行”ss2=ss1“时,把对象ss2指向ss1,就把ss1的值赋给ss2,这时候比较时,返回的是true;
3)当打印ss2.Name,输出就是ss1.Name的值;
4)再次给ss2.Name赋值时,输出是ss1.Name的值;
六、命名空间与类库
1、命名空间:又称程序集,相当于一个文件夹,里面包含好多的类(文件)。
2、类库:许许多多的类组合在一起,就相当于好多文件组成一个压缩包。
七、继承
在构成继承关系的两个类中,一个被称为父类或基类,另一个被称为子类。如下图:
【重点理解】:1)子类包含弗雷德所有属性和方法;
2)所有的子类都可以直接转换成父类类型;
3)当父类类型变量里面存的是某个子类的对象的时候,才能转换成那个子类类型。
举例说明:
【例1】:1)创建一个Ren类的对象,其字段属性包含Name,Sex;(运用封装字段)方法为“会说话!”
2)创建一个Men类的对象作为Ren类的子类,其字段属性继承Ren类的属性Name,Sex,方法为“会赚钱”;
3)在主函数中,如何体现父类与子类的继承关系;通过强制转换,子类对象转换为父类,然后再从父类转换成子类时的属性不会缺失(必须在某个子类存在其父类当中的前提下);
【注意】:一个父类可以包含多个子类;但一个子类只能对应一个父类;父类与子类可以理解为一对多的关系。
.NET将变量的类型分为值类型与引用类型。例如int和float之类的变量属于值类型,而“类“类型的变量属于引用类型。
值类型与引用类型的变量在使用上是有区别的。
值类型的变量在一定义之后就可以马上使用。
引用类型的变量定义之后,还必须用new关键字创建对象后才可以使用。
如上图,创建两个新的对象时,直接比较两个对象是否相等,返回的bool值为false.因为两个对象都是新开辟的一个空间变量,彼此没有任何关系,所有是不相等的。
如图2:1)创建的第一个新的对象ss1,给ss1中的属性分别赋值;再创建第二个新的对象ss2,直接比较ss1和ss2,仍然不相等;
2)但是,当执行”ss2=ss1“时,把对象ss2指向ss1,就把ss1的值赋给ss2,这时候比较时,返回的是true;
3)当打印ss2.Name,输出就是ss1.Name的值;
4)再次给ss2.Name赋值时,输出是ss1.Name的值;
六、命名空间与类库
1、命名空间:又称程序集,相当于一个文件夹,里面包含好多的类(文件)。
2、类库:许许多多的类组合在一起,就相当于好多文件组成一个压缩包。
七、继承
在构成继承关系的两个类中,一个被称为父类或基类,另一个被称为子类。如下图:
【重点理解】:1)子类包含弗雷德所有属性和方法;
2)所有的子类都可以直接转换成父类类型;
3)当父类类型变量里面存的是某个子类的对象的时候,才能转换成那个子类类型。
举例说明:
【例1】:1)创建一个Ren类的对象,其字段属性包含Name,Sex;(运用封装字段)方法为“会说话!”
2)创建一个Men类的对象作为Ren类的子类,其字段属性继承Ren类的属性Name,Sex,方法为“会赚钱”;
3)在主函数中,如何体现父类与子类的继承关系;通过强制转换,子类对象转换为父类,然后再从父类转换成子类时的属性不会缺失(必须在某个子类存在其父类当中的前提下);
【注意】:一个父类可以包含多个子类;但一个子类只能对应一个父类;父类与子类可以理解为一对多的关系。
相关文章推荐
- 1212面向对象--引用类型与值类型、命名空间与类库、继承(父类与子类)
- java继承实质、父类引用指向子类对象(多态)、声明时类型、运行时类型
- 找不到类型或命名空间,是否缺少引用——在现有项目中重命名类库名,类名注意事项
- C#基础知识复习1代码规范-执行流程(c#)-面向对象-引用命名空间-封装-继承-访问修饰符-虚方法-静态成员-多态-抽象类等
- java继承实质、父类引用指向子类对象(多态)、声明时类型、运行时类型
- 子类继承的变量的命名从根本上看是带有父类命名空间的
- 在类库中出现命名空间“System”中不存在类型或命名空间名称“Linq”(是缺少程序集引用吗?)”的解决办法
- 黑马程序员_C#面向对象(值类型和引用类型,构造函数,常量与静态成员,命名空间,索引)
- 找不到类型或命名空间名称“Server”(是否缺少 using 指令或程序集引用?)
- 命名空间“Microsoft”中不存在类型或命名空间名称“Office ”(是缺少程序集引用吗?)
- C# 引用 Excel 找不到类型或命名空间名称“Excel”(是否缺少 using 指令或程序集引用?)
- 命名空间“Microsoft.Office”中不存在类型或命名空间名称“Interop”(是缺少程序集引用吗?)解决
- 找不到类型或命名空间名称“Server”(是否缺少 using 指令或程序集引用?)
- java类继承总结一 父类类型与子类类型之间的转化问题
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->addRange 函数
- 类型或命名空间名称“UI”在类或命名空间“System.Web”中不存在(是否缺少程序集引用?)的解决方法
- CS0234: 命名空间“System”中不存在类型或命名空间名称“Linq”(是否缺少程序集引用?)
- 命名空间“Microsoft.Office”中不存在类型或命名空间名称“Interop”(是缺少程序集引用吗?)
- 类型或命名空间名称“Web”在类或命名空间“Microsoft”中不存在(是否缺少程序集引用?)
- 命名空间“Microsoft”中不存在类型或命名空间名称“Office ”(是缺少程序集引用吗?)