读文网>知识>知识百科>百科知识

.Net知识

.NET是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。

1.继续面向对象

面向对象的三大特征:

封装、继承、多态

封装:隐蔽代码实现,代码复用,修改方便。

继承:

多态:

2.什么是类?什么是对象?类和对象的区别?

类是一种数据类型,用户自定义的数据类型。 是针对具体存在的一种描述。

类的组成:字段,属性,方法,构造函数。

对象是具体的。是类的具体实例。对象具有属性和方法。 按照类的描述来创建一个可供我们使用的实例。

类只占一块内存,每个对象单独占用一块内存。 对象可以叫做类的实例(Instance)

3.构造函数的作用?

主要是为了方便程序员在实例化(new)对象的时候就为对象里的一些属性字段初始化赋值。

<--构造函数-->

(1)访问修饰符一般情况下是public

(2)没有返回值类型

(3)方法名和类名相同

(4)在该类被new的时候(实例化)调用

(5)用户自定义的类中,如果没有用户定义的任何一个构造函数。那么CLR将在程序运行的时候自动添加一个无参的构造函数给对象

也就是说:一旦用户自定义的类中包含了一个或多个构造函数(不管有没有参数的),那么CLR将不在自动添加。

4.属性

属性的本质就是两个方法,get和set。

属性就是为了设置访问和修改成员变量值的规则。

如果属性里只定义了get代码块,则该属性叫做只读属性。

如果属性里只定义了set代码块。则该属性叫做只写属性。

代码:

public class Person

{

private string _name;

public string Name

{

get{return _name;}

set{_name=value;}

}

private int _age;https://属性存在的目的就是为了设置访问和修改成员变量值的规则。

public int Age

{

get{return _age;}

set

{

if(value>=0&& value<=120)

{

_age=value;

}

else

{

_age=18;

}

}

}

}

5.GC垃圾回收器

垃圾回收器定时检查堆内存,一旦发现没有被引用的对象,就立即销毁它。

6.静态成员

CLR加载程序集里的类信息,发现有静态成员,则直接添加到[静态成员表]中,整个程序集内都可以访问这个表里的静态成员。

7.里氏替换原则

当存在继承关系时,如果声明的是父类,则堆中对象保存的类型指针为父类,那么调用的时候就会执行父类的成员。

如果调用的成员,父类中没有,那么程序会报错。因为父类的类型指针只会去找父类的成员,找不到,没有,就会报错。

8.继承

(1)、因为子类继承了父类,所以子类对象能够调用父类对象里所有的非私有成员。

(2)、当存在继承关系的时候,子类的this同时可以指向父类的非私有成员。base就存在于子类对象里,用来指向父类的指针。

(3)、继承的单根性:一个类只能继承一个父类。

传递性:子类获得父类所有的非私有成员。

(4)、子类默认调用父类无参的构造函数

(5)、类的访问修饰符默认就是internal,(程序集内共享,也就是项目内部共享)

类的成员变量,访问修饰符默认是private

(6)、不能将父类对象强制转换成子类对象

(7)、当创建一个子类对象的时候,如果声明的是父类对象,那么只能调用父类中的方法。

当创建一个子类对象的时候,如果声明的是子类对象,那么先看子类中的方法,有则调用,没有则去父类中寻找,如果有则调用。

9.简单工厂方法

最关键的是应用了里氏替换原则,及子类重写父类的技术,它能让代码开发者不关心某个具体相关业务的实现,而只关心自己要实现的业务代码的编号。

10.多态

多态就是用某个子类来实例化父类,调用父类的抽象方法或者虚方法,但实际上执行的是子类实例重写的方法。

相关热搜

相关文章

【百科知识】热点

【百科知识】最新