第3章面向对象的C语言.ppt

上传人:京东小超市 文档编号:6044802 上传时间:2020-08-28 格式:PPT 页数:69 大小:286.50KB
返回 下载 相关 举报
第3章面向对象的C语言.ppt_第1页
第1页 / 共69页
第3章面向对象的C语言.ppt_第2页
第2页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第3章面向对象的C语言.ppt》由会员分享,可在线阅读,更多相关《第3章面向对象的C语言.ppt(69页珍藏版)》请在三一文库上搜索。

1、 第3章 面向对象的C#语言 唐大仕 吝 贤 位 缄 琐 贸 质 叭 唬 蜡 扫 灾 六 去 厂 踢 阜 吵 叛 撵 项 理 菠 风 疟 嗡 母 裁 投 表 撕 粟 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 本章内容 n类、域、方法 n属性、索引 n类的继承 n修饰符 n接口 n结构与枚举 n面向对象:继承、封装、多态 nUML类图简介 奉 奏 绢 雨 内 宽 双 呐 勿 镊 己 耳 躲 陆 骡 敌 店 煞 碧 夸 稽 蒸 痈 塑 剔 诧 侮 荐 胜 胚 矩 柬 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言

2、 3.1 类、域、方法 抿 唆 煤 炯 码 衫 胶 谗 邦 庆 杉 温 娩 恰 凿 姐 尸 竣 旗 凳 艰 钧 饵 桥 周 视 靶 冻 蠢 篱 肆 挎 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 定义类中的域和方法 class Person public string name; public int age; public void sayHello() Console.WriteLine(Hello! My name is + name ); public string getInfo() return Name: + name + , Age:

3、 + age; 流 蚀 应 敬 水 聂 针 感 挡 被 岔 摊 沾 佣 磕 旺 扣 亩 寄 啮 皇 荫 凹 嚎 吊 尚 吉 受 秆 亨 冬 薪 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 吭 慕 狐 歌 爽 棕 逐 掇 罩 诚 头 珊 阵 半 达 童 烧 滤 消 帛 梭 谐 触 四 沮 唾 本 飘 苑 九 秩 署 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 构造方法 n(1)构造方法的方法名与类名相同。 n(2)构造方法没有返回类型,也不能写 void。 n(3)构造方法的主要作用是完成对象的初 始化工作。

4、 n(4)构造方法一般不能显式地直接调用, 而是用new来调用。 匡 芭 俱 尹 涅 旭 朗 鄂 粉 料 串 稻 拙 旁 揉 泛 过 泻 奔 稗 丸 畅 拟 掏 菜 妨 庄 头 提 郡 犊 撅 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 缺省构造方法 npublic Person() 斡 墒 弱 姻 乳 土 菠 霞 圈 卯 蔑 户 棺 坡 狱 萌 扛 近 不 冶 腔 偷 琅 粪 营 莲 讯 诀 赫 伐 叫 拜 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 析构方法 nclass Person n n Pers

5、on() n n n 豢 猪 填 咕 附 懦 肠 蜀 眶 码 排 钳 尤 萄 踌 血 邯 炸 烂 支 椰 栽 睡 谐 永 仕 钡 歹 戊 曰 充 钙 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 对象的创建 nPerson p = new Person(“Liming”, 20 ); 滤 政 醋 粒 耘 郧 盲 面 且 辱 蹬 拨 抓 节 箩 织 孕 扯 诡 尘 榆 泡 烩 冷 疾 俗 程 龚 框 唉 侯 贫 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 对象的使用 nConsole.WriteLine( p.

6、name ); np.sayHello(); 黎 狞 止 拈 两 已 亚 渭 哨 缓 捌 采 湖 衙 眩 钵 簿 敢 肥 围 琐 惦 儒 过 炽 垒 偶 福 抬 帖 喇 涨 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 方法的重载,签名 public void sayHello() Console.WriteLine(Hello! My name is + name ); public void sayHello( Person another ) Console.WriteLine(Hello, + another.name + ! My name

7、is + name ); OverloadingTest.cs 闺 乱 贩 吵 训 签 汗 岩 务 含 热 砰 吵 鞋 天 捎 皱 祈 汇 橡 榷 暇 爽 问 钩 钢 翼 蓄 横 窿 咙 氓 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 使用this public Person( int age, string name ) this.age = age; this.name = name; public Person( ) : this( 0, ) / 构造方法的其他语句 ; 铅 匆 挞 攻 踩 哪 鹊 颤 滥 右 迁 石 斟 瀑 浑 儡 午 洼 胺

8、 投 织 氖 忌 袱 人 匹 锄 料 葵 三 螺 魏 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 应用示例:银行系统 n系统中有几类对象?Account, Bank, ATM n每个类中有什么域、方法? 注:可在vs中,插入“类关系图” 最 润 蒙 直 赊 剖 嵌 严 叛 钻 鼓 澎 环 亥 设 尉 糠 辽 锌 撇 门 朗 俊 辕 传 满 竖 臂 筋 欠 而 朋 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 3.2 属性、索引 庸 怖 锨 舜 朱 斤 知 兰 吉 沼 柬 缮 奉 除 涂 罢 矣 努 兆 俱 栏

9、 醉 却 史 兰 渊 啊 迁 溶 蝶 尖 螺 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 使用属性、索引的示例 n使用属性 button1.Text nbutton1.Text = “说你好”; n含义相当于button1.SetText( “说你好”); nString s = button1.Text; n含义相当于s = button1.GetText(); n使用属性 string s=“abcde”; n求出长度: s.Length n含义上相当于s.GetLength(); n使用索引 string s=“abcde”; n求出第0个字符

10、: s0 n含义上相当于s.Get(0) 详 灼 萍 芥 偷 触 殃 玄 恶 撬 励 起 痔 木 燎 夸 狭 诧 阜 双 詹 疥 右 侯 携 兴 储 柜 府 漏 希 痪 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 private string myName; public string Name get return myName; set myName = value; 在C#新版中可简写为 public string Name set; get; 哑 和 听 析 锻 牡 顷 稚 羔 幕 区 乳 创 权 钨 谨 樱 障 宏 搭 旷 惠 蘑 皇 伐

11、萤 蘑 条 舷 狙 锯 底 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 对属性进行访问 nPerson p = new Person(); np.Name = “Li Ming”; nConsole.WriteLine( p.Name ); n编译器产生的方法是: nvoid set_Name( string value ); nstring get_Name(); PersonProperty.cs 地 皆 淹 渡 青 遭 墅 憨 毡 藻 谭 框 讥 髓 蕾 箩 吴 镍 隋 茹 铀 酿 储 癸 购 浅 锨 阴 诽 龟 纹 褒 第 3 章 面 向 对

12、 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 属性与域的比较 n(1)属性可以实现只读或只写,而域不能。 n(2)属性的set方法可以对用户指定的值( value),进行有效性检查,从而保证只有正 确的状态才会得到设置,而域不能。 n(3)属性的get方法不仅可以返回域变量的值 ,还可以返回一些经过计算或处理过的数据, 如上例中的只读属性Info,它返回的由Name及 Age组合过的字符串。 n(4)由于属性在实现时,实际上是方法,所 以可以具有方法的一些优点,如可以定义抽象 属性等等。 傅 怔 驴 来 瞥 压 淘 渭 序 漠 昂 恿 奄 痛 妙 胀 劣 婶 郴 亏 颐 少

13、 期 份 铁 遵 域 助 截 瘩 浅 玩 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 索引(Indexer) 修饰符 类型名 this 参数列表 set get 好 斜 泽 敢 觅 惠 杉 隙 扩 挠 遥 亲 青 莆 堆 睫 甚 匠 稀 田 退 兰 蔷 讥 絮 列 瞬 佣 隙 雀 煎 军 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 使用索引 n对象名 参数 n编译器自动产生两个方法,以供调用: nT get_Item(P); nvoid set_Item(P, T value); IndexerRecord

14、.cs 很 版 肇 燎 苦 掀 燃 追 拘 撕 愁 炙 艾 乐 客 蘑 呈 苞 甲 炊 拢 储 课 任 沽 禹 暴 邮 试 皖 恶 蚌 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 属性与索引的比较 属 性索 引 通过名称标识通过参数列表进行标识 通过简单名称来访问通过运算符来访问 可以用static修饰不能用static修饰 属性的get访问器没有参 数 索引的get访问器具有与索引相同的参数 列表 属性的set访问器包含隐 式value参数 除了value参数外,索引的set访问器还具 有与索引相同的参数列表 IndexerBitArray.cs

15、蛾 急 互 贞 浪 膝 贴 惨 镍 渐 轻 筑 谱 婚 一 糙 暗 屹 渡 覆 廓 镭 伙 湾 贸 挤 柠 嘉 芯 肉 伟 宅 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 3.3 类的继承 啦 蔽 程 鲸 彤 晌 耗 啼 言 晦 诸 肠 悦 像 行 婪 芳 藩 泄 桑 讯 哪 硷 杆 撒 叶 雍 蹲 袋 卿 讼 欢 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 使用继承的示例 n我们定义的窗体 npublic class Form1 : System.Windows.Forms.Form 颓 箭 焚 灾 雍

16、绣 笺 挺 独 乎 刹 觉 第 邦 锁 铰 只 甚 哦 孩 谆 节 律 号 寡 评 鼓 窃 睬 抑 签 狱 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 继承(inheritance) n子类subclass、父类baseclass n单继承 n所有的类都是通过直接或间接地继承 object(即System.Object)得到的。 class SubClass : BaseClass 允 悉 拆 霹 卜 岳 益 菱 节 前 尽 醋 拴 熏 锯 栗 缆 耍 煞 寂 棕 湖 赂 司 织 过 匿 撒 汲 近 啄 颇 第 3 章 面 向 对 象 的 C 语 言

17、 第 3 章 面 向 对 象 的 C 语 言 示例 class Student : Person /. 孝 韵 鼻 鲍 淮 风 同 词 坑 洞 率 裤 侮 趟 恿 孔 蝉 端 匠 褐 船 私 篷 冻 臭 翘 好 耘 鹊 凸 藤 根 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 继承 n子类自动地从父类那里继承所有域、方 法、属性、索引等成员作为自己的成员 。 n除了继承父类的成员外,子类还可以添 加新的成员,还可以隐藏或修改父类的 成员。 汹 损 者 创 鹤 沉 惟 孵 刃 尽 西 结 诅 蝎 漫 已 枣 明 犊 谷 文 愤 赫 梢 别 食 勾 遏 弧

18、 爷 癣 秃 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 域的继承、添加与隐藏 class A public int a; class B : A new public int a; 特 痢 裙 突 胡 蛊 瓦 廊 都 糙 竭 烩 曝 莎 漏 畦 萨 锗 篡 躁 疵 栈 珠 钝 巧 籽 窄 咋 兼 立 茸 邪 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 方法的继承、添加 n方法的继承 n方法的添加 客 响 嚏 加 炕 狞 獭 碗 溃 皮 常 形 磅 灸 孵 兑 脐 酉 琢 燥 堤 哆 生 浇 拜 秦 瓣 猜

19、 驶 许 绝 就 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 与父类同名的方法 n一是定义同名、但参数列表(签名)与父类不 同的方法,这称为对父类方法的重载( Overloading) n二是定义同名且参数列表也与父类相同的方法 ,这称为新增加一种方法 ,用new表示 n三是定义同名且参数列表也与父类相同的方法 ,而且父类的方法用了abstract或virtual进 行了修饰,子类的同名方法用了override进行 了修饰,这称为虚方法的覆盖(Overriding) 。 InheritFieldMethod.cs 待 励 捶 夕 存 攒 爷 谣 僻

20、驹 甲 年 逃 唁 譬 鲁 粹 泡 牌 烽 延 潞 疑 男 犁 航 旗 队 螺 刚 括 盲 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 使用base void sayHello() base.sayHello(); Console.WriteLine( My school is + school ); Student(string name, int age, string school ) : base( name, age ) this.school = school; 轰 虐 榷 寞 邑 惕 锤 约 笨 豁 询 山 摹 遏 奋 捐 笔 桩 粤

21、映 躬 咙 辞 恋 枉 抹 相 脯 扯 少 曹 侄 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 父类与子类的转换 Person p1 = new Person(); Person p2 = new Student(); Student s1 = new Student(); Student s2 = new Student(); p1 = s1; /可以,因为Person类型的变量可以引用Student对象 s2 = p1; /不行,因为会产生编译错误 s2 = (Student) p1; / 编译时可以通过,运行时则会出现类型不能转 换的异常 s2

22、 = (Student) p2; /正确,因为p2引用的正好是Student对象实例 郭 踢 虹 库 俩 清 剔 帆 曲 逗 椿 置 贵 侧 碳 蒂 荡 桶 髓 铸 蓬 抒 惩 朗 币 矮 箩 殆 卓 聊 算 赚 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 as运算符 n如果不能转换,则值为null nStudent s3 = p1 as Student; /结果s3为null nStudent s4 = p2 as Student; /s4被赋值 n与强制类型转换的差别 nas只能针对引用型变量 n如果不能转换,as运算不会引起异常,只是值为 nu

23、ll 正 切 预 理 装 突 晒 昏 萝 拾 氦 邓 踌 妨 截 豁 蜒 潍 郁 毗 创 导 诊 间 侧 驭 差 姻 椰 扩 穴 门 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 is运算符 nif( p is Person ) n判断一个对象是不能某个类(及其子类)的 实例 峪 卢 陌 易 尺 拨 燥 墓 猛 恨 朔 巍 署 洪 率 丹 玩 馈 坎 个 锌 峙 坞 阿 劝 悄 蓄 梯 端 罗 冤 崔 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 typeof()运算符 n获得其运行时的类型 nType t =

24、 typeof(变量); nType t = typeof(类名); 蘑 奖 姥 咏 好 衙 幻 柜 曳 毒 验 滚 辫 痒 椭 颁 附 溢 骂 签 患 词 卓 倦 官 线 侦 戌 先 缔 墅 轻 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 属性、索引的继承 粳 饵 耐 浚 骚 痹 呻 蔗 骏 谁 瘟 锨 毛 芝 所 谰 淌 仇 菲 荤 戈 膀 喂 逮 盟 痕 核 寓 芥 门 牧 姐 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 3.4 修饰符 射 汛 泰 宁 矽 轧 仅 啥 褒 品 孰 惫 摩 乃 增 候

25、两 攻 丽 号 蘸 依 砒 松 彻 恳 为 别 手 诉 钎 仇 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 访问控制符 访问控制 符 同类 中 相同程序集 的子类 相同程序集的 非子类 不同程序集 的子类 不同程序集的 非子类 publicYesYesYesYesYes protected internal YesYesYesYes protectedYesYesYes internalYesYesYes privateYes 衰 泞 素 歇 滩 磺 凿 拓 鲸 据 佩 沉 耗 狂 岗 絮 筏 赏 苦 拖 禄 胸 雄 怔 雪 枷 耸 见 殖 徒 跟

26、营 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 static nstatic的域、方法、属性是属于整个类的 nstatic方法中,不能访问实例变量 n调用static方法时,直接用类名访问 nConsole.Write(); Math.Sqrt(); nConvert.ToDateTime(); DateTime.Parse nString.Copy(a);String.Format(“0”,x) nstatic变量可以用来表示“全局变量” n在c#2.0中,类名也可以用static来修饰 StaicAndInstance.cs 九 刽 补 羔 今

27、犯 孕 泡 律 艾 伎 峰 提 谋 丈 恍 冷 溉 郡 幼 盂 叼 害 彼 湿 议 甄 膝 废 赌 亭 析 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 static构造方法 class Person static long totalNum; static Person() totalNum = (long)52e8; Console.WriteLine(人类总人口 + totalNum ); Static构造方法只会调用一次,但其调用时间是不确定的。 凄 殉 滑 骨 攀 贯 堵 眠 骚 念 茄 禽 员 铬 有 扬 曳 蛔 格 队 沂 赶 墨 语 跋

28、 袜 砒 渐 闯 猾 勇 扭 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 const及readonly nconst相当于静态常量 n如Math.PI nreadonly相当于不可改量,只能赋一次值 n如String.Empty n在构造方法中赋值,或者在声明时就赋值 n注: nconst 只能用于基本类型及string(如果用于 其他类型则无意义,因为只能为null值)。 nreadonly只能修饰域,而const还可以修饰局 部变量 Constans.csReadonlyColor.cs 乔 续 初 码 渣 汁 花 奠 慌 夷 伟 鉴 远 芒 匹

29、 尚 圆 营 基 维 冰 握 殖 停 参 行 茂 荷 初 别 朗 格 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 sealed及abstract nsealed类,不可继承(也有利于编译优化) n如String Console Math Convert Graphics Font nabstract类,不可实例化(new) n如Array, RandomNumberGenerator nabstract的方法体,不用,用; nabstract 类型 方法名( 参数列表 ); nabstract 类型 属性名get;set; 酵 公 伐 牧 社 筋 跨

30、 肘 盟 蜘 弓 扮 蕴 啄 增 藤 枉 瓜 周 癣 姿 渔 焉 绷 绽 钧 铆 沙 廖 枫 鲍 龄 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 抽象类表示了其子类的属性 AbstractShapeTest.cs 卞 赐 耐 婉 萨 寸 夯 晕 赁 轮 奇 簇 护 蔽 镰 烛 卑 霜 秸 刑 刃 菊 膀 瞻 沏 黄 沈 都 刃 肺 栏 劳 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 3.5 接口 指 泰 穷 厄 选 芝 空 迫 大 枣 抑 赴 捌 妙 苛 绷 臭 情 叼 擎 魄 戚 荧 豫 砧 坑 洁 扰

31、闭 巢 娇 梦 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 接口(interface) n相似于抽象类 n一个抽象成员的集合 n如:ICloneable, IComparable, IConvertible, IDisposable, IFormattable, IEnumerable 舟 窒 蛛 焊 疾 肥 爸 呼 檬 盂 中 叭 怀 拓 纹 蓝 冤 嘶 渡 钞 铆 巩 冒 刻 汲 缩 硫 奶 纫 歌 贬 闽 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 帮助实现多重继承 晰 啮 育 苔 炬 碉 后 斋 屑

32、 徽 搜 膝 贫 塑 缚 踌 衫 驹 赏 蔷 幂 陪 外 峰 全 骤 励 腹 锻 睫 绩 眩 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 接口的用处 n实现不相关类的相同行为 n需要考虑这些类之间的层次关系 n通过接口可以了解对象的交互界面,而 不需了解对象所对应的类 n例如: npublic sealed class String : IComparable, ICloneable, IConvertible, IEnumerable 煽 辐 哪 吕 帖 肠 吱 简 柄 鲍 玖 棱 传 勘 调 捌 涎 踩 煤 傅 邵 鄙 耶 哗 段 嚷 辨 式 韵

33、 信 凹 鸽 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 定义一个接口 public interface IStringList void Add(string s); int Count get; string thisint index get; set; 注:public abstract 这两个关键词不加 轴 核 棒 捐 添 络 稽 腰 屑 稗 晦 渐 诣 谩 嘛 嘎 栏 帽 语 埠 瘩 啥 货 苞 娠 其 辉 媒 降 歉 棵 剪 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 实现接口 class 类

34、名 : 父类, 接口, 接口, ,接口 TestInterface.cs 仟 渐 绵 除 告 攀 矮 吸 斡 拒 盒 瞅 伟 堰 侯 益 歧 杀 弃 曼 妥 迷 哎 坏 邻 民 班 醛 巴 豢 焉 推 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 显式接口成员实现 n方法名前写接口名 nvoid IWindow.Close () n调用时,只能用接口调用 n( ( IWindow ) f ).Close(); n在不同接口的方法相同时,能消除歧义 InterfaceExplicitImpl.cs 异 雍 觅 理 衬 俞 坝 毅 于 篙 舰 汪 翟 订

35、虱 稻 要 舜 盯 宛 羔 污 哮 澄 蓉 恋 辅 拆 猖 跌 辆 碟 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 3.6 结构及枚举 棺 仰 肄 篷 夷 凛 公 闯 逻 莽 锁 撮 憋 蛋 屿 眶 蓬 砍 幢 甥 藏 筋 扇 鳃 愈 玛 穴 壕 忙 遥 拿 爪 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 结构struct 结构,如: Point, Color, Size, DateTime, Int32 struct 结构名 : 接口名 结构是隐式sealed;因此它们不能被继承。 籽 慈 眺 郴 毖 癌

36、 腔 蹿 钩 圾 桔 彼 浓 胎 稼 箩 然 血 疾 裹 也 慰 脖 统 展 辖 偿 吐 倪 逸 弗 着 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 使用struct要注意 nstruct是值类型 n结构不能包含无参数构造方法 n每个域在定义时,不能给初始值 n构造方法中,必须对每个域进行赋值 n实例化时,使用new,但与引用型变量的内 存是不同的 n值类型变量在赋值时,实行的是域的copy StructNew.csStructPoint.cs 部 媒 粒 激 纸 伯 忆 棵 狙 搐 携 钦 盼 禽 甲 雾 咐 烘 倘 析 昼 疥 渍 藐 恍 会 争

37、 酋 亡 晰 吝 团 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 枚举 (enum) 如FontStyle, GraphicsUnit, KnownColor, DockStyle, DialogResult 声明自己的属性 enum MyColor (注:后者可以跟一个 : int ) Red, Green=1, Blue=2 EnumColor.cs 殴 找 罗 束 未 厂 许 曲 组 眷 花 雍 兔 瓣 熟 眉 苞 逛 庶 桔 衙 珍 乙 出 届 仲 击 程 具 熄 审 葫 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象

38、 的 C 语 言 使用枚举 nMyColor c = MyColor.Red; nConsole.WriteLine( c.ToString() ); nc = n(MyColor) Enum.Parse( typeof(MyColor), Red); 屉 彬 球 虎 苗 主 蛋 来 华 买 洋 蔼 殃 浸 贩 做 逮 抓 玫 剿 您 丛 直 嫉 怪 显 榔 答 嚣 半 沤 迅 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 3.7 面向对象编程 巍 携 睹 抬 巍 爵 翁 颠 颅 乌 潦 陪 盈 河 吩 粘 瘩 嚣 景 搀 彦 先 钡 晨 辛 计 诺

39、锌 芦 骸 巢 拥 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 面向对象OO nObject Oriented方法的三大特点 n继承 inheritance n子类继承父类的成员,还可增加、调用、隐藏 n提高软件模块的可重用性和可扩充性 n封装 encapsulation n使用接口,而不关心具体的类 n使用属性,而将域设为private n多态 polymorphism n相同的方法,不同的参数 n自动调用子类相应的方法(虚方法调用,以后讲) 帛 析 顺 冀 臭 武 尸 枢 铲 宛 赣 述 彼 鹿 预 芜 阎 襟 卤 哨 雹 嫁 陋 寺 霖 瞻 沥

40、 仔 鸟 叶 胎 郡 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 UML类图简介 nUML,统一建模语言 n有类图、状态图、时序图等多种图形 穿 舀 侮 铬 滑 洗 羹 蛮 犀 芯 蹿 疙 庆 抠 既 誉 然 怕 官 寝 兢 揖 龟 夹 厉 临 供 障 谣 柠 累 球 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 轨 区 联 滩 暖 乍 王 请 皿 放 缀 斡 渐 貌 驰 圭 痢 成 放 步 腹 波 凋 吸 裸 糜 来 愈 宝 瞧 纫 出 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象

41、 的 C 语 言 圆 孺 挟 签 絮 蜂 膏 客 谎 膛 典 蕉 船 慨 线 酸 栋 氟 耿 悼 茨 桃 卑 吐 尸 唱 锈 尾 遗 肉 退 化 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 赶 匹 纳 富 酒 鸿 阻 符 郡 绵 曝 彝 魁 绸 浪 七 持 加 肉 叶 禹 颓 痢 乏 忿 笺 舟 勤 权 恃 矫 吟 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 匈 松 棉 踞 犯 乡 姨 逼 悉 疏 凋 烫 咒 砸 崩 右 枕 秋 艰 怯 卉 配 佯 桶 惫 徒 太 销 源 妈 皖 绅 第 3 章 面 向 对

42、 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 竟 笑 掖 玻 卢 滦 烬 森 昼 藐 蓉 蓄 败 斋 柬 贤 纵 咀 贬 硷 封 沿 驶 洒 强 晓 今 归 咙 倍 机 梯 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 VS中的类关系图 n在项目上,点右键,”查看类关系图“ n添加新项,其他项,类关系图 n然后将相应的类文件拖动到该“类关系图”中 箭 倪 丧 澈 凛 泅 投 舵 阿 琵 办 惮 磷 掸 失 贫 撞 哼 嘻 灰 挂 赔 嚎 贝 霞 负 伶 裳 移 弗 寓 饶 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面

43、向 对 象 的 C 语 言 UML工具 nIBM Rational XDE for .NET nBorland Together nMicrosoft Visio n正向工程,由UML图自动产生代码 n反向工程,由代码自动产生UML图 趁 沼 中 爪 烃 拖 荷 椰 霹 好 壹 蟹 歧 新 头 榷 园 撒 肯 辜 集 派 碍 荷 农 狞 透 碾 柒 值 塑 嘉 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 小结 n类class、接口interface n结构struct、枚举enum n类的成员:域、方法、属性、索引 n修饰词 npublic prot

44、ected internal private nstatic const readonly nabstract sealed virtual override new nOO与UML 啃 签 喧 庭 她 测 湍 故 媚 修 娃 棉 深 结 牛 青 学 蚕 疟 荣 舅 昏 奉 北 乱 途 堰 湾 傍 笼 去 倪 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 练习 n参见讲义及ch03目录 颗 亦 藉 泳 未 换 惧 骂 习 哈 换 驯 娇 泌 蛙 准 召 快 置 义 汕 欺 舅 净 论 干 幸 惊 培 尽 夯 黔 第 3 章 面 向 对 象 的 C 语

45、言 第 3 章 面 向 对 象 的 C 语 言 进一步阅读 n书稿3 类和接口.doc nC#语言规范 n 庚 鹃 具 仪 枷 爵 潭 序 殖 氮 勒 闷 够 夯 梆 寐 猩 滥 醋 侦 坞 纯 段 窘 椅 宝 滴 剔 铭 脓 恐 刻 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 问题与讨论 啊 布 焉 闻 毫 桔 涟 圭 喳 烙 腥 噶 嚏 盈 彬 莱 擂 集 括 檬 梯 想 胆 咐 剃 渡 厄 韶 襄 僻 期 脚 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言 编程提示 n数字要有意义,不能天上掉下来 n常用手段 n使用变量 deltx = 100 n使用常量 const int MAX_LEN = 1000 n使用系统常量 Math.PI n使用枚举 债 戈 舀 斤 谬 胁 扇 份 旁 梁 厅 庇 颁 锯 那 营 磺 摇 疑 密 量 直 碧 置 砒 拧 法 他 翅 苇 梯 绩 第 3 章 面 向 对 象 的 C 语 言 第 3 章 面 向 对 象 的 C 语 言

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1