类与对象的关系是什么(用自己心中对于类与对象的理解描述下)?
类就是现实世界事物的模型
- 类是对现实世界事物进行抽象所得到的结果
- 事物包括“物质”(实体)与“运动”(逻辑)
- 建模是一个去伪存真、由表及里的过程(表=接口,里=逻辑)辩证唯物主义
类与对象的关系
- 类就像是现实世界中的施工图纸,是一个蓝图一个模板。
- 通过这张图纸盖出来的房子的过程就是"实例化"。
- 最后盖出来的房子就是对象也是实例,根据语境的不同会有不同的叫法,二者并无太大的区别,常常混用。
- 程序员向别人介绍时一般说对象,但是自己撸代码或者专业交流则会叫实例,这就是语境不同。
属性的主要作用是什么?
对字段的读写权限进行限制,类似只能在银行存钱取钱,但是不能自己去金库操作,银行的柜台窗口就是属性,工作人员帮你存钱、
取钱。
你是怎么理解封装这个概念的?
- 封装的概念:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。
- 封装的目的:是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。
静态类可以有实例成员吗?
静态类不可以有实例成员,静态类先于实例成员被创建。
静态类注意事项
- 类本身必须标记为static。
- 类的所有成员必须是静态的。
- 类可以有一个静态构造函数,但不能有实例构造函数,不能创建该类的实例。
-
静态类是隐式密封的,也就是说,不能继承静态类。
静态类一般用在程序结束运行后,保存变量。
静态类错误提示
本类的静态类成员可以访问本类的实例成员吗?
不可以访问,静态类在系统里面创建好的时候,实例成员还没被nwe出来。
c# 静态成员和实例成员的区别
本类的实例成员可以访问本类或其他类中的静态成员吗?
可以访问,静态成员先被创建再系统中,然后才有实例成员。
this的本质是什么?
该类的当前实例
构造函数的作用是什么?
初始化对象,有些数据是不允许外界修改的,只允许设置一次,用构造函数来设置就最好了,比如一个时钟类,实例化时就设置初始时间,然后就不允许外界修改了。类只是一个模板,用模板“造”出对象的过程,就是实例化,实质上是分配内存空间,并且初始化数据。
|