- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计-基于对象的程序设计讲述
面向对象编程语言的一个最大优点是,可以定义在创建类的实例时调用的特殊方法,这些方法称为构造函数。 构造函数的作用是,确保对象在使用之前要经过正确初始化过程。 5.4 实例构造函数 在C#中,如果类不包含任何构造函数声明,则自动提供一个默认的无参数的构造函数,并使用默认值初始化对象字段。 任务5.5:定义Person类 问题描述:类是计算机用来创建对象的模板,类描述一类事物,描述这些事物所应具有的属性、方法、字段。人是一个类,每个人都是人类的实例或称对象。Person类具有属性姓名、年龄等。Person类还具有告诉别人有关自己信息(如姓名、年龄)的方法,还有用来存储姓名、年龄值(状态值)的字段。 5.4.1 实例构造函数 字段(无论是静态字段还是实例字段)的初始值都是字段的类型的默认值。在此默认初始化发生之前是不可能看到字段的值的,因此字段永远不会是“未初始化的”。 示例如下: using System.Windows.Forms; public class Test {图5.5 字段初始化 static boolean b; int i; public static void main(String[] args){ Test t = new Test(); MessageBox.Show( String.Format(b = {0}, i = {1}, b, t.i)); } } 5.4.2 默认初始化字段 字段声明可以包含变量初始值设定项,以显式初始化字段。对于静态字段,变量初始值设定项对应于在类初始化期间执行的赋值语句。对于实例字段,变量初始值设定项对应于创建类的实例时执行的赋值语句。示例如下: using System; using System.Windows.Forms; public class Testinifield { static double x = Math.Sqrt(2.0); private int i = 100; private String s = Hello; public static void Main(string[] args){ Testinifield t = new Testinifield(); MessageBox.Show(String.Format( x = {0}, i = {1}, s = {2}, x, t.i, t.s), 输出结果); } } 5.4.3 显式初始化字段 在类中声明实例构造函数时必须指定标识符和实例构造函数体且标识符必须命名为声明实例构造函数的类名。其格式为: 类名称(可选形参表){块} 实例构造函数是与类同名的特殊方法,实例构造函数只能由对象创建表达式调用,它们永远不能被直接调用。当我们在声明语句或赋值语句中使用对象创建表达式,执行该语句时,调用指定类的实例构造函数,将你提供的参数值(如果有的话)传递给实例构造函数对应的参数,执行构造函数,然后返回。 5.4.4 实例构造函数声明 问题描述:创建一个类Rectangle来描述矩形,在Rectangle类中声明Print()方法,Print()方法返回矩形所有属性的值。声明另一个名为Inflate的方法,该方法根据指定的参数值沿轴放大矩形对象。所谓沿轴放大是指沿两个方向(正方向和负方向)进行放大。例如,如果20×20的矩形沿x轴放大20,则结果矩形的长度将为60个单位,即原始20,负方向20,正方向20,这样保持矩形的几何中心不变。如果方法的参数为负数,则Rectangle沿着相应的方向缩小。并给Rectangle类声明一构造函数,通过调用该构造函数可创建一在指定位置的具有一定宽度和高度的矩形。 任务5.6 定义矩阵(一) 类定义中含有两个或两个以上其参数个数或类型或种类不同的实例构造函数时,称为实例构造函数重载。实例构造函数实际上是对对象进行实例化时调用的方法。假设希望创建一个可以以多种方式构造对象的类,就需要重载实例构造函数。当对不同数据类型进行操作时,重载非常有用,因为重载提供了对可用数据类型的选择,所以它使得实例构造函数的使用更为方便灵活。 5.5 实例构造函数重载 任务5.7:定义矩形(二) 问题描述:定义了Point类和Rectangle类,在Rectangle类中定义了3个实例构造函数,其中一个实例构造函数以Point对象作为参数,一个实例构造函数没有参数,另一个实例构造函数以整数作为参数。然后在Main方法中应用这3个实例构造函数创建了3个Rectangle对象。 5
您可能关注的文档
- 非典型液压系统故障案例分析.ppt
- 非惯性系和惯性力-11-17.ppt
- 非洲人文地理.ppt
- 非痫性发作性疾病.ppt
- 非税收入(黑板)讲述.ppt
- 非相干散射雷达调研报告讲述.pptx
- 非离子型表面活性剂--烷醇酰胺讲述.ppt
- 非线性有限元及弹塑性力学讲解讲述.ppt
- 非洲传染病-重点疟疾和预防蚊虫叮咬讲述.ppt
- 非线性目标函数的最值问题.ppt
- 2025年中国蛀虫布数据监测研究报告.docx
- 黑教版人文与社会四年级上册第3课 “永恒的日晷”蒙古包 课件(共21张PPT).pptx
- 辽宁省点石联考2025年10月高二巩固卷物理高二巩固卷答案【黑吉辽蒙卷】.docx
- 2016~2025十年高考化学真题分类专题10铁、铜及其化合物原卷版.docx
- 2023年辽宁省名校联盟高考历史联考试卷(3月份).pdf
- Unit 3 Section A 语法课件(新人教八上Unit 3 Same or differen.pptx
- 辽宁省点石联考2025年10月高二巩固卷地理高二巩固卷答案【黑吉辽蒙卷】.docx
- 14.2 第3课时 容易误导读者的统计图 课件(共21张PPT)初中数学华东师大版(2024)八年级.pptx
- 11.1 认识电路课件 初中物理北师大版(2024)九年级全一册(28页PPT) (1).pptx
- 2023年辽宁省锦州市中考数学一模试卷.pdf
原创力文档


文档评论(0)