您的位置:首页 > 编程语言 > C#

学习笔记:c# 从“过程”看“对象”----类及基础的实现

2013-02-06 13:05 459 查看
类的实现过程

1.定义结构体(基类型字段为值类型,引用类型字段、方法为指针。注:属性的本质是字段与方法的结合体)。
2.定义函数(第一个参数为 结构体 类型,调用时由编译器自动填冲,后面才是函数的“实际”参数)。

类的实例化过程

1.分配内存空间 以及 初始化字段、属性。方法使用 new
关键字。

2.调用构造函数。当然,一般的,构造函数都是用来给字段、属性赋初值的。

继承的实现:
原理:在实现子类的结构体中定义一个结构体指针指向父类。
覆盖:覆盖父方法。c#实现是在子类中定义一个方法,与父类该方法声明相同,或者显示的加一个new 关键字。
这样实际上就是告诉编译器----调用“函数”时,如果第一个参数声明为父类(实际是是实例化的子类),那么就执行父类
的方法,反则子类方法。
[b]重写:[/b]c#实现是父类方法以
virtual 关键字声明,子类以override 关键字声明。这样的实际功能是告诉编译器,无论是
哪种情况,都直接使用第一个参数本身的方法。
这儿不得不说一下,网上都将覆盖和重写理解为一个意思。就我来看,覆盖就好像徒弟跟着师傅学武功,同样一招
“泰山压顶”,可能师傅直接劈头盖脸直接一掌打下来,而徒弟一跃三千尺,然后头下脚上来使,虽还叫泰山压顶,却实
际上达到了如来神掌的功效了。这就是覆盖,徒弟有,这个徒弟的师傅也会,但不同;重写就好像父亲把传世美玉东西传给
儿子,儿子又把这美玉雕刻成精美饰品,那么,传家之宝,儿子有了,但这个儿子的父亲却没有了。(注:徒弟、儿子就
好比子类的一个实体,这个徒弟的师傅、这个儿子的父亲就好比以子类实例化的父类,泰山压顶、传世美玉就好比方法)
子类的实例化:
先完成父类的实例化,再做子类的实例化工作。注:最先完成的是Object类的实例化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐