c面向对象技术内容摘要:
积,运行结果如图 38所示。 图 38 计算两数的和与积 参考代码: public class Firstclass { protected double n =。 protected double m =。 public void Thearea() { (两数分别是: {0}和 {1}, n, m)。 } protected void Thesum() { (两数和为: {0}, m + n)。 } } public class Secondclass : Firstclass { public void Show() { 14 Secondclass ac = new Secondclass()。 ()。 //在派生类中可以被访问 (两数乘积为: {0}, n * m)。 } } class Program { static void Main(string[] args) { Secondclass sc = new Secondclass()。 ()。 ()。 ()。 } } 这时,如果在主函数中调用 protected声明的方法,如: ()。 //错误,此次调用超过了访问 范围 由于基类中的 Thesum()方法已 声明 为 protected类型,因此,它只能在派生类中被调用,而不能在主函数中被调用。 3. private 计算 图形的面积 ,运行结果 如图 39所示。 图 39计算 图形的面积 参考代码 : public class Shape { 15 private double Numo。 private double Numt。 public double getNumo() { return Numo。 } public double getNumt() { return Numt。 } public void Setnumo(double w) { Numo = w。 } public void Setnumt(double h) { Numt = h。 } } public class Another : Shape { public void area() { (输出图形的面积: {0}, getNumo() * getNumt())。 } } class Program { static void Main(string[] args) { Another aclass = new Another()。 (请输入图形的宽度: )。 double x = (())。 (请输入图形的长度: )。 double y = (())。 (x)。 (y)。 ()。 ()。 } } 在上面的代码中,被声明为 private的成员既不能在派生类中被访问, 也不能在主函数中被访问。 只能通过间接地方式来使用它们。 任务 34 实现多态性 在继承环境中的多态性,一般指同一操作作用于不同类的实例,不同类将进行不同的解释,最后产生不同的执行结果。 多态一般通过重写虚方法来实现。 16 任务 341 重写 虚方法 在基类中的成员可能执行与派生类中同名成员的不同任务,或者派生类中成员必须提供基类中对应抽象成员的实现方式,这种过程称为重写。 当类中的方法声明前加上 virtual 修饰符,我 们 将此方法称为虚方法。 基类中虚方法的实现方式,在派生类中可以通过重 写 来改变。 重写 虚 方法的一般格式: Public class Baseclass { public virtual void show() { } } Public class Derivedclass: Baseclass { public override void show() { } } 现在,我们希望使用基类调用派生类对象方法时,能根据派生类对象自身的类型自动调用其派生类的方法。 参考代码: public class Contact { public virtual string Showmessage() { return This is Contact.。 } } public class CustomerA : Contact { public override string Showmessage() { return This is CustomerA.。 } } public class CustomerB : Contact { public override string Showmessage() { return This is CustomerB.。 } } class Program 17 { static void Main(string[] args) { Contact[] Contacts = new Contact[3]。 Contacts[0] = new Contact()。 ({0}, Contacts[0].Showmessage())。 Contacts[1] = new CustomerA()。 ({0}, Contacts[1].Showmessage())。 Contacts[2] = new CustomerB()。 ({0}, Contacts[2].Showmessage())。 ()。 } } 运行结果如图 310所示。 图 310 重写虚方法 从运行结果可以看到,使用基类调用派生类对象方法时,执行的是重写之后的方法,这样就实现了多态性。 任务 342 使用 new 关键字 如果成员方法使用 new 修饰、那么表示这个成员是“全新”的,即使基类有相同签名的成员方法并说明为 virtual,这个方法也和基类方法相同签名方法没有任何关系。 现在我们把任务 341 代码中的第一个派生类 CustomerA 的 Showmessage() 方法的修饰符改为 new, 代码如下: 18 public class Contact { public virtual string Showmessage() { return This is Contact.。 } } public class CustomerA : Contact { public new string Showmessage() { return This is CustomerA.。 } } public class CustomerB : Contact { public override string Showmessage() { return This is CustomerB.。 } } class Program { static void Main(string[] args) { Contact[] Contacts = new Contact[3]。 Contacts[0] = new Contact()。c面向对象技术
相关推荐
组合时,作用于任一单桩的水平力。 对于主要承受竖向荷载的抗震设防区桩基,当满足 《建 筑抗震设计规范》 GB5001l第 条和 规定 条件 时 ,可不进行 管桩基础抗震承载力计算。 非液化土中桩基的抗震验算及存在液化土层的桩基抗震 验算,应按《建 筑 抗震设计规范》GB50011的 有关 规定执行。 单桩承载力应按下式计算: 1 轴心竖向力作用下 ak RQ () 2 偏心竖向力作用下
D T1 LD 1 LD 2 O N B Z1Batt eryJ6 J1 J2 J3 J5J4RL1RL2RL3 12 选择跳线 NSL 系列控制器有 3 组功能不同的跳线,跳线功能明细参考如下: 跳线 JP1(下图粗线部分) 跳线 JP1 为存储器电池跳线,通常要短接。 若将跳线拔去,则无法在失电情况下保存控制器内的信息。 BATJP1RS485RS232O V 5V C K 2 D T2
范围和使用性质存放、堆卸建筑材料和机具设备,并设置高于 1m 的围护设施和警示标志。 5 临建设施 一般规定 施工现场的办公区、生活区和施工区应分开设置,并应采取相应的隔离防护措施,保持安全距离;办公区、生活区的选址应符合安全性要求。 尚未竣工的建筑物内禁止设置员工宿舍。 施工现场应设置办公室、宿舍、食堂、厕所、淋浴间、开水房、文体活动室、仓库、密闭式垃圾站(或容器)及盥洗设施等临建设施。
17 紧 急 报警 装置 收 取 、 存 放 现 金 、 有 价 票 证 、 财 务 室 、 金 库 等 场 所 部位 应设 18 生 产 、 存 放 、 经 营 金 、 银 、 珠 宝 和 重 要 物 品 的 库 ( 房 ) 场所 宜设 19 出 入 口 管 理 系统 单位出入口、 主 要通道 (含自 动 扶梯口、 各 楼层电梯口 )、内 部 礼 堂 、 在 用 地 下 空 间 、 汽 车 (
178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 41 专项安全施工方案 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。 178。
配线架的线缆所组成。 系统中常用的传输介质是双绞线,它能支持大多数现代通信设备。 如果需要某些宽带应用时,可以采用光缆。 信息出口采用插孔为 ISDN8芯( RJ45)的标准插口,每个信息插座都可灵活地运用,并根据实际应用要求可随意更改用途。 KRONE PremisNET? 布线方案设计书 8 管理区子 系统 (Administration Subsystem): 本子系统由交连