游戏开发-编程语言-C#编程_C#面向对象编程:继承与多态.docx

游戏开发-编程语言-C#编程_C#面向对象编程:继承与多态.docx

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE1

PAGE1

C#面向对象编程基础

1面向对象编程概念介绍

面向对象编程(Object-OrientedProgramming,简称OOP)是一种编程范式,它将程序设计围绕“对象”进行。在OOP中,对象是数据和操作数据的方法的封装体。C#是一种支持面向对象编程的语言,它通过类、对象、继承、封装、多态等特性,帮助开发者构建复杂的应用程序。

1.1特性

封装:隐藏对象的实现细节,只暴露必要的接口。

继承:子类可以继承父类的属性和方法,实现代码的重用。

多态:同一接口可以有多种不同的实现方式,提高代码的灵活性和可扩展性。

2C#中的类与对象

在C#中,类是定义对象的蓝图,它包含属性(数据成员)和方法(成员函数)。对象是类的实例,每个对象都有自己的状态和行为。

2.1示例:定义一个类和创建对象

//定义一个Person类

publicclassPerson

{

//属性

publicstringName{get;set;}

publicintAge{get;set;}

//构造函数

publicPerson(stringname,intage)

{

Name=name;

Age=age;

}

//方法

publicvoidSayHello()

{

Console.WriteLine($Hello,mynameis{Name}andIam{Age}yearsold.);

}

}

//创建Person对象

classProgram

{

staticvoidMain(string[]args)

{

Personperson=newPerson(JohnDoe,30);

person.SayHello();//输出:Hello,mynameisJohnDoeandIam30yearsold.

}

}

3构造函数与析构函数

构造函数用于初始化对象,而析构函数用于释放对象占用的资源。在C#中,析构函数是自动调用的,但通常建议使用using语句或Dispose方法来管理资源。

3.1示例:使用构造函数和析构函数

publicclassResourceHandler

{

privateFileStreamfileStream;

//构造函数

publicResourceHandler(stringfileName)

{

fileStream=newFileStream(fileName,FileMode.Open);

}

//析构函数

~ResourceHandler()

{

fileStream.Close();

}

//使用Dispose模式

publicvoidDispose()

{

fileStream.Close();

}

}

//使用ResourceHandler

classProgram

{

staticvoidMain(string[]args)

{

using(ResourceHandlerhandler=newResourceHandler(example.txt))

{

//操作文件

}

}

}

4访问修饰符详解

访问修饰符控制类、方法、属性等的访问级别。C#提供了五种访问修饰符:public、private、protected、internal和protectedinternal。

4.1示例:使用不同的访问修饰符

publicclassAccessModifierExample

{

publicstringPublicData{get;set;}//公开访问

privatestringPrivateData{get;set;}//私有访问

protectedstringProtectedData{get;set;}//受保护访问,子类可以访问

internalstringInternalData{get;set;}//同一命名空间下的类可以访问

prot

文档评论(0)

kkzhujl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档