- 对象、封装、继承、多态(对象:类的实例化;封装:将数据和代码封装在一起;继承:功能的扩张;多态:不同的实例实现方法不一样)
- 类的声明(语法:修饰词 class 类名{}; /修饰词:private 私有的,仅限于自己使用;public 公有的,没有限制;protected 受保护的,仅限于此类和此类的派生类使用;internal 仅限于此程序使用)
- 对象实例化(语法:类名 对象名=new 类名(参数);用new实例化的对象为两个值,如果是赋值则为一个值,有相同的地址,一个改变,另一个也改变)
- system.object类是所有类的根类型,所有类都继承于它(公有方法:equal ,tostring,gettype )
- 分部类(patial class)
1、面向对象的三大特性,并进行简单的解释。
封装:将代码和数据放在一起(隐藏的内部成员,这样即安全也对用户透明)
继承:将相同的属性进行传递(可以避免代码复制和相关代码维护等问题)
多态:不同事物具有其独特的地方(允许每一个对象用自己的方式去响应共同的消息,从而允许用户以更明确的方式建立通用软件,提高软件开发的可维护性)
2、类的修饰符通常使用哪两种?各自什么含义?
public:公共的,所有都可以使用
internal:该程序内公有,只能再此程序中使用
3、类成员的修饰符中private是什么含义?
私有的,仅限自己可以使用
4、类成员的修饰符中public是什么含义?
公共的,没有约束,都可以访问(在任意位置可以使用)
5、类成员的修饰符中protected是什么含义?
受保护的,仅限自己和此类的派生类使用(在本类和本类的子孙类中可以使用,类外不能使用)
6、类成员中,字段、属性和方法的修饰符通常是什么?
字段:private
属性:public
方法:public
7、类的构造函数的名字、返回值、参数有什么规定?如果没有给类编写构造函数会怎样?
构造函数名称和类名相同,没有返回值,可以没有参数,可以默认参数,可以缺省参数
如果没有编写构造函数,系统会默认一个无参的构造函数
8、两个对象的所有成员的值相同,这两个对象相等吗?
不相等(不一定)
9、分部类使用什么关键字?有什么作用?
partial
有利于大项目的分工合作(主要用于2个场所,当类的源码庞大或需要不同程序员进行维护时,使用分部类可以灵活满足需求;使用继承开发工具源代码生成器时,将计算机生成的类型部分和用户编写的类型部分互相分开,以便扩充工具生成代码)
一,对象、封装、继承、多态
1,对象
1)就是某种事情的抽象(功能)
2)包括数据抽象和过程抽象两个方面
3)数据抽象就是定义对象的属性
4)过程抽象就是定义对象的操作
5)对象封装了数据和代码
6)对象就是基于类的具体实例
2,封装
把数据成员、属性、方法、事件等集合在一个整体内
3,继承
是允许使用现有类的功能,并在无需重新改写原来类的情况下,对功能进行扩展。
注意:在c#语言中一个子类只能由一个基类(单一继承),但允许实现多个接口
4,多态
允许每一个对象以自己的方式响应信息
二,类的声明
类是一个数据结构,定义数据类型的数据(字段)和行为(方法和其他函数成员)
声明类的基本语法:
1,类的访问修饰符
(1)public 公共的
不受限制
(2)private 私有的
仅限于此类
(3)internal 内部的
仅限于此程序
(4)protected 受保护的
仅限于此类和此类的派生类访问
(5)protected internal
访问仅限于此程序或从此类派生的类
三,创建对象
1,语法
类名 对象名 =new 类名([参数表]);
注意:
用new创建两个对象,他们的值和代码都相同,但他们仍然存放在两个地址,他们是不相等的
但是
如果一个对象赋值给另一个对象,则它们的变量保存在同一块内存,两个对象是相同的,改变其中一个会影响另一个。
四,分部类
分部类型(partial type )可以将类划分为多个部分,存储在不同的源文件中,以便开发和维护
1,基本语法
五,System.Object类和通用方法
1,什么是system.object类型
system.object类是c#中类层次结构的根类型,所有的类型都隐含的派生于system.object类
2,通用方法