学习笔记:c# 从“过程”看“对象”----类及基础的实现
2013-02-06 13:05
459 查看
类的实现过程:
1.定义结构体(基类型字段为值类型,引用类型字段、方法为指针。注:属性的本质是字段与方法的结合体)。
2.定义函数(第一个参数为 结构体 类型,调用时由编译器自动填冲,后面才是函数的“实际”参数)。
类的实例化过程:
1.分配内存空间 以及 初始化字段、属性。方法使用 new
关键字。
2.调用构造函数。当然,一般的,构造函数都是用来给字段、属性赋初值的。
继承的实现:
原理:在实现子类的结构体中定义一个结构体指针指向父类。
覆盖:覆盖父方法。c#实现是在子类中定义一个方法,与父类该方法声明相同,或者显示的加一个new 关键字。
这样实际上就是告诉编译器----调用“函数”时,如果第一个参数声明为父类(实际是是实例化的子类),那么就执行父类
的方法,反则子类方法。
[b]重写:[/b]c#实现是父类方法以
virtual 关键字声明,子类以override 关键字声明。这样的实际功能是告诉编译器,无论是
哪种情况,都直接使用第一个参数本身的方法。
这儿不得不说一下,网上都将覆盖和重写理解为一个意思。就我来看,覆盖就好像徒弟跟着师傅学武功,同样一招
“泰山压顶”,可能师傅直接劈头盖脸直接一掌打下来,而徒弟一跃三千尺,然后头下脚上来使,虽还叫泰山压顶,却实
际上达到了如来神掌的功效了。这就是覆盖,徒弟有,这个徒弟的师傅也会,但不同;重写就好像父亲把传世美玉东西传给
儿子,儿子又把这美玉雕刻成精美饰品,那么,传家之宝,儿子有了,但这个儿子的父亲却没有了。(注:徒弟、儿子就
好比子类的一个实体,这个徒弟的师傅、这个儿子的父亲就好比以子类实例化的父类,泰山压顶、传世美玉就好比方法)
子类的实例化:
先完成父类的实例化,再做子类的实例化工作。注:最先完成的是Object类的实例化。
1.定义结构体(基类型字段为值类型,引用类型字段、方法为指针。注:属性的本质是字段与方法的结合体)。
2.定义函数(第一个参数为 结构体 类型,调用时由编译器自动填冲,后面才是函数的“实际”参数)。
类的实例化过程:
1.分配内存空间 以及 初始化字段、属性。方法使用 new
关键字。
2.调用构造函数。当然,一般的,构造函数都是用来给字段、属性赋初值的。
继承的实现:
原理:在实现子类的结构体中定义一个结构体指针指向父类。
覆盖:覆盖父方法。c#实现是在子类中定义一个方法,与父类该方法声明相同,或者显示的加一个new 关键字。
这样实际上就是告诉编译器----调用“函数”时,如果第一个参数声明为父类(实际是是实例化的子类),那么就执行父类
的方法,反则子类方法。
[b]重写:[/b]c#实现是父类方法以
virtual 关键字声明,子类以override 关键字声明。这样的实际功能是告诉编译器,无论是
哪种情况,都直接使用第一个参数本身的方法。
这儿不得不说一下,网上都将覆盖和重写理解为一个意思。就我来看,覆盖就好像徒弟跟着师傅学武功,同样一招
“泰山压顶”,可能师傅直接劈头盖脸直接一掌打下来,而徒弟一跃三千尺,然后头下脚上来使,虽还叫泰山压顶,却实
际上达到了如来神掌的功效了。这就是覆盖,徒弟有,这个徒弟的师傅也会,但不同;重写就好像父亲把传世美玉东西传给
儿子,儿子又把这美玉雕刻成精美饰品,那么,传家之宝,儿子有了,但这个儿子的父亲却没有了。(注:徒弟、儿子就
好比子类的一个实体,这个徒弟的师傅、这个儿子的父亲就好比以子类实例化的父类,泰山压顶、传世美玉就好比方法)
子类的实例化:
先完成父类的实例化,再做子类的实例化工作。注:最先完成的是Object类的实例化。
相关文章推荐
- 《面向对象基础:C++实现》学习笔记之八
- 学习笔记9:C#基础(面向对象和字符串的方法)
- 黑马程序员 C#学习笔记⑥ 三层架构基础实现员工信息管理
- C#学习笔记五面向对象基础
- C# 学习笔记二(图形绘制基础2 常用画图对象)
- 《面向对象基础:C++实现》学习笔记之七
- 黑马程序员之C#编程基础学习笔记:用while continue实现计算1到100之间的除了能被7整除之外所有整数的和。
- 黑马程序员之C#编程基础学习笔记:用while break实现要求用户输入用户名和密码,只要不是admin,888888就一直提示要求重新输入。
- 《面向对象基础:C++实现》学习笔记之六
- 自己用的C#基础学习笔记(一)——C#面向过过程
- 《面向对象基础:C++实现》学习笔记之四
- 《面向对象基础:C++实现》学习笔记之五
- .Net学习笔记----2015-07-21(C#基础复习04,面向对象语法和继承复习)
- 《面向对象基础:C++实现》学习笔记之一
- 《面向对象基础:C++实现》学习笔记之三
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
- 黑马程序员_学习笔记 03 C#基础
- C#学习笔记----反射基础
- C#开发学习笔记:C#通过存储过程创建数据表
- 黑马程序员_C#基础知识学习笔记:逻辑表达式