C# for Unity 编程语言快速入门教程(连载4)---C#面向对象OOP编程
C#的OOP(面向对象)编程是C#编程语言中最为精华的部分,如果没有学习C#的OOP部分,则可以认为就没有学习过C#。
C#语言是2001年,微软推出".Net战略"时,专门订制的一门编程语言,其基本的思想就是仿照JAVA语言的虚拟机原理,开发出“受托管”的中间语言。(即:C#编译后不是直接生成二进制EXE目标代码,而是先生成中间语言(IL),再根据不同的操作系统,最终解释生成为目标代码)。其最大的好处就是实现“跨平台性”,推出几年后随着功能与性能的不断完善,很快就成为了全世界最受欢迎的编程语言之一。
现在为了让C#的初学者更快的了解OOP的技术概况,现就列出C#OOP编程的基本列表:
1:面向对象的概念:什么是类、对象。以及类与对象的关系。
面向对象三大特征: 封装/继承/多台
2:封装性:
用访问修饰符来体现封装性。
Public 公共的/ private 私有的/Protected 受保护的/Internal 本程序集的
3:构造函数。
功能:是维护一个类的完整性。可以通过类的构造函数,使得一个类构造出不同(型号/类别)的对象实体。
特征: 1)构造函数名称与类名相同。
2)构造函数没有返回数值,也不加void 关键字。
3)构造函数不需要调用,可以直接运行。
4:方法的定义。
方法的构成:4部分
1) 方法的名称。
2) 方法的参数列表
3) 方法的返回类型,如果没有返回数值,要加“void” 关键字。
4) 方法体(方法的内容)
5:学习static 关键字。
特点:
5.1: 用static 修饰的方法,叫静态方法。
5.2: 在实例方法中,调用静态方法,需要使用类名称调用。
在静态方法中,调用静态方法,可以直接调用。
用途: 是简化编写,为了更容易被访问。
6:继承的概念。
继承使用符号“:”来表示继承。
7:在继承关系下,构造函数的规则。
规则: 实例化子类,系统先自动调用父类的构造函数,然后调用子类构造函数。
8:学习关键字。
base, this.
Base: 代表父类对象。
This: 代表本类对象。
适用范围:
在子类与父类发生“方法覆盖”时候,为了能够调用被覆盖(或者“隐藏”)的方法,必须使用base .
9:base 关键字在构造函数中的应用,即:显示调用父类构造函数。
10:析构函数。
定义“~”定义析构函数。 作用是在本对象需要销毁之前,做一些清理工作。
比如在需要进行数据库连接,Socket 数据通信的时候,需要关闭对应的连接等。
11:命名空间。
使用关键字: NameSpace 定义。
目的是:为了一个项目中,可以使用重名的类。(相当于是操作系统中的“虚拟目录”的概念)。
12:访问修饰符:
Public: 最大访问级别。
Internal: 局部的。 在一个“程序集”中,都可以访问。
Protected: 受保护的类型。 除了自己能够访问,本类的子类也可以访问。(“继承链”)
Private : 只能自己访问。
13:学习面向对象中的“多态性”的概念。
14:多态性—方法重载。(静态多态性)
同一个类中,有多个方法名相同,但是方法的参数不同,这种现象叫~。
多态性-方法的重写(动态多态性)
在继承关系的类中,父类中定义了“虚方法”(关键字:Virtual), 子类使用关键字override 进行方法重写。这种机制叫~。
方法重写的目的: 就是可以不断优化代码的一种机制。
15:学习Sealed 关键字。
密封关键字。
类/ 方法。
16:抽象类/抽象方法。
关键字: Abstract
规则1: 一个抽象方法,必须存在于抽象类中。但是一个抽象类可以没有抽象方法。
规则2: 一个类继承抽象类,则必须“重写”抽象父类中的抽象方法。
17:接口/多重接口。
关键字: Interface
接口是与“类”相同的编程单位,相互之间不“隶属”。
规则1: 接口中只能定义抽象方法,不能有public , abstract 关键字。
规则2: 接口可以多种继承。
规则3: 一个类继承接口,则必须“实现”接口中所有的方法。
18:值类型与引用类型。
值类型在方法传递的时候,是传递的自身的“拷贝”。
引用类型在方法传递的时候,是传递的自身的“地址”。
常用值类型与引用类型转换的关键字如下:
Ref / out 关键字。
Ref 关键字可以把值类型转变为引用类型。
Out 关键字目的是可以让方法有多个输出参数。
19:属性。
规则1: 属性是方法的简化,目的是控制类的“字段”的可访问性。
20:动态多态性。
目的是为了更好的开发出灵活,功能强大的程序。
可以使用“虚函数”,“抽象方法”,“接口”来实现动态多态性。
建议使用“接口”来实现动态多态性,即:面向接口编程。
21:面向接口编程。
接口最好功能单一。
接口可以通过继承关系实现功能强大的复合接口。
以上21个知识点,基本概括了C#面向对象编程的基本概念,后面笔者会就一些重要的OOP概念进行重点讲解与总结。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。