1.可空类型修饰符(?)   众所周知,在C中引用类型可以使用一个null引用来表示一个不存在的值,比如stringstr=null是正确的;但是值类型却不能为空,比如intk=null那么编译器就会报错;为了让值类型也可以为空,就需要使用可空类型,即用可空类型修饰符"?"来表示,举例如:int?表示可空的整形,DateTime?表示可为空的时间。这样我们就可以写int?k=null而不报错。   它的表现形式为"T?",T?其实是System.Nullable(泛型结构)的缩写形式,也就意味着当你用到T?时编译器编译时会把T?编译成System.Nullable的形式。例如:int?,编译后...

  bH50tzaTBICl   2023年11月02日   108   0   0 .NET

1.抽象方法与虚方法的区别   先说两者最大的区别:抽象方法是需要子类去实现的。虚方法是已经实现了的,可以被子类覆盖,也可以不覆盖,取决于需求。因为抽象类无法实例化,所以抽象方法没有办法被调用,也就是说抽象方法永远不可能被实现。 如果需要了解虚方法及抽象方法具体的定义和语句,请移步:C多态性学习,虚方法、抽象方法、接口等用法详解。 我们具体看个例子来帮助理解,首先是虚方法: publicclassShape { publicvirtualdoubleCalculateArea() { return0; } } publicclassCircle:Shape { publicdoubleRad...

  bH50tzaTBICl   2023年11月02日   103   0   0 .NET

1.多态性定义   C中的多态性是OOP(面向对象编程)的一个基本概念,它允许一个对象在不同情况下表现出不同的行为,以增强代码的可重用性和灵活性。  根据网上的教程,我们得知C多态性分为两类,静态和动态。但实际上,C没有严格的静态和动态多态性的分法。之所以这么分,还是为了我们便于理解,我们沿用这个思维来大概分类: 采用函数重载或运算符重载方法的,属于静态多态性;采用虚方法、抽象方法、接口等方式,属于动态多态性。 拓展:在静态多态性中,函数的响应是在编译时发生的。在动态多态性中,函数的响应是在运行时发生的。什么意思呢?在静态语言中,许多多态性的特性可以在编译时确定,编译器可以根据数据类型的信息来...

  bH50tzaTBICl   2023年11月02日   57   0   0 .NET

1.重写和覆盖的定义 1.1重写(override)的定义   在C中,用override关键字来重写一个父类中的虚方法或抽象方法。override关键字用于指示编译器,我要用派生类中的一个方法,重写基类中的同名方法。通过重写基类中的方法,可以实现多态性。有关重写与虚方法和抽象方法的详细示例,可移步C虚方法和抽象方法示例。 override关键字的语法如下: publicoverridereturnTypeMethodName(ParameterList) { //方法实现 } 其中,public表示访问修饰符;override表示重写虚方法或抽象方法;returnType表示方法的返回类型...

  bH50tzaTBICl   2023年11月02日   76   0   0 .NET
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~