面向对象基础<一>
2012-09-02 19:45
232 查看
面向对象
1.三大特征:封装(方法/属性/类/程序集)、继承、多态
类:类是建筑图纸,对象就是按照图纸新建的房子或者说类就是模版,对象就是具体的事物
3.先抽象(类)再具体(对象)
4.类是告诉CLR开辟多大内存空间的模版,只能定义成员变量、方法、属性,不能在类中直接写执行代码。
属性和字段的区别:字段是一个变量,属性是方法 。
程序集加载:
Dog.cs硬盘里的文件,文件里其实本质就是字符串而已--->CLR加载硬盘里的.cs文件,按照c#语法编译成一个新的文件(程序集)-->Dog.exe程序集(MSIL中间语言)-->JIT将IL转成二进制机器码-->交给CPU运行
类的加载:把类从中间代码里面直接加载到内存里面,但加载的不是代码 它是按照语法把中间代码的内容放到type对象里面。
4.类的成员存储在堆中 局部变量在栈中(方法表执行是是加载到栈执行的,所以局部变量在栈中),类成员变量不需要赋值也可以使用,局部变量需要赋值才可以使用
6.属性是为了外部访问私有字段提供访问规则而存在的。
7. 1构造函数由new关键字调用,构造函数不允许其他方法调用,还可以通过new ,或者this来调用构造函数
2如果类里没有用户定义的 构造函数,那么在编译的时候,编译器会自动添加一个无参的没有任何代码的 默认 构造函数。
3如果类里包含 用户定义的 任何一个 构造函数,那么 编译器都不会再为其添加默认构造函数了。
8. this当前对象的堆空间的地址 在类的内部使用this其实就是访问类的当前对象。
this在哪个对象里,就代表哪个对象本身。(反射调用方法方式除外) (简而言之就是:谁"点"出了方法,方法里的this就是谁)
类的修饰符只能是public、 internal
1.属性:本质就是为了某个类的成员变量提供了两个访问方法。
new子类对象的过程
1.会先创建子类对象,然后准备调用子类的构造函数
2.执行子类构造函数之前,会先创建对象,并执行父类构造函数
3.最后再执行子类构造函数
子类调用父类的构造函数:base();
1.三大特征:封装(方法/属性/类/程序集)、继承、多态
类:类是建筑图纸,对象就是按照图纸新建的房子或者说类就是模版,对象就是具体的事物
3.先抽象(类)再具体(对象)
4.类是告诉CLR开辟多大内存空间的模版,只能定义成员变量、方法、属性,不能在类中直接写执行代码。
属性和字段的区别:字段是一个变量,属性是方法 。
程序集加载:
Dog.cs硬盘里的文件,文件里其实本质就是字符串而已--->CLR加载硬盘里的.cs文件,按照c#语法编译成一个新的文件(程序集)-->Dog.exe程序集(MSIL中间语言)-->JIT将IL转成二进制机器码-->交给CPU运行
类的加载:把类从中间代码里面直接加载到内存里面,但加载的不是代码 它是按照语法把中间代码的内容放到type对象里面。
4.类的成员存储在堆中 局部变量在栈中(方法表执行是是加载到栈执行的,所以局部变量在栈中),类成员变量不需要赋值也可以使用,局部变量需要赋值才可以使用
6.属性是为了外部访问私有字段提供访问规则而存在的。
7. 1构造函数由new关键字调用,构造函数不允许其他方法调用,还可以通过new ,或者this来调用构造函数
2如果类里没有用户定义的 构造函数,那么在编译的时候,编译器会自动添加一个无参的没有任何代码的 默认 构造函数。
3如果类里包含 用户定义的 任何一个 构造函数,那么 编译器都不会再为其添加默认构造函数了。
8. this当前对象的堆空间的地址 在类的内部使用this其实就是访问类的当前对象。
this在哪个对象里,就代表哪个对象本身。(反射调用方法方式除外) (简而言之就是:谁"点"出了方法,方法里的this就是谁)
类的修饰符只能是public、 internal
1.属性:本质就是为了某个类的成员变量提供了两个访问方法。
new子类对象的过程
1.会先创建子类对象,然后准备调用子类的构造函数
2.执行子类构造函数之前,会先创建对象,并执行父类构造函数
3.最后再执行子类构造函数
子类调用父类的构造函数:base();
相关文章推荐
- 程序员_Java基础<一>-面向对象上
- 黑马程序员_Java语法及面向对象基础<一>
- 面面向对象过程总结笔记<一>
- Java基础知识<3>-面向对象程序设计
- 面向对象基础<二>---继承
- 黑马程序员 Java基础<一>---> 面向对象与类之概述(匿名对象、封装、构造函数、this、静态等)
- 黑马程序员 java基础<一>--其它对象System、Runtime(1)
- 程序员_Java基础<二>-面向对象中
- 黑马程序员:基础学习<一>
- _java基础<一>_Java开发前奏
- Windows学习笔记9——图形基础<一>
- 程序员_Java基础之<九>-泛型、其他对象
- 【LaTeX排版】LaTeX使用--入门基础<一>
- Android React-Native系列之<一>零基础搭建React-Native开发环境
- 面向对象&lt;一&gt;
- OC基础语法<1.1> 入门面向对象语法-OC类、点语法
- Qt 对象树 <一>
- java基础和规范<一>
- 黑马程序员 java基础<二>--其它对象Date、Calendar和Math-Random(2)
- Java笔记2 面向对象<1>面向对象概述、构造代码块、匿名对象、this关键字等