上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 52 下一页

2012年6月27日

C#多态性-什么是多态

摘要: 下面举一个生活的例子来理解多态。如果要求3种人——孩子,运动员,音乐演奏者都执行一个动作“play”,会发生什么情况呢?孩子会出去玩耍。运动员会比赛。演员开始演奏。对于同一个命令,不同的人会有不同的反应,执行不同的动作,这就是生活中一个多态。在程序设计中,对于同一个方法,由于执行的对象不同,方法的内容也就不同。执行的结果也是不相同的。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。多态性通过派生类覆写基类中的虚函数型方法来实现。多态性分为两种,一种是编译时的多态性,一种是运行时的多态性。编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编 阅读全文

posted @ 2012-06-27 09:21 流星落 阅读(951) 评论(0) 推荐(0) 编辑

C#怎么理解“父类引用指向子类对象”

摘要: 父类代码如下:public class Person{//父类的构造函数public Person(){Console.WriteLine("Person");}//父类的虚方法public virtual void virFun(){Console.WriteLine("Person's Fun");}}子类代码如下:public class Son1:Person//继承{//子类Son1的构造方法public Son1(){Console.WriteLine("Son1");}//重写父类的虚方法public overr 阅读全文

posted @ 2012-06-27 09:20 流星落 阅读(674) 评论(0) 推荐(0) 编辑

父类对象引用子类实例-父母代表孩子做事

摘要: 子类继承父类的属性和方法,使创建子类变得很简单,实现了代码重用。继承还有一个重要的特性,父类对象可以引用子类实例。也就是子类实例可以赋值给父类的对象变量。这个特性可以这样理解:儿子继承父亲,儿子又把管理自己事务的权利交给父亲,那么父亲就可以代表儿子处理事务,这就是父类对象引用子类实例。现在生活中,父母可以代表儿子处理事务,总公司可以代表子公司生命权利。父类指针要访问子类的成员的情况下,要强制类型转换。父类的对象变量=new 子类类型;((子类类型)父类引用).子类变量using System;class Father{private int _wealth = 5000;public void 阅读全文

posted @ 2012-06-27 09:19 流星落 阅读(1166) 评论(0) 推荐(0) 编辑

C#中调用父类的构造方法和成员

摘要: C#中使用的关键字是base,但用法不完全相同。1. 调用父类的构造方法// 父类 public class Father { public Father(String name) { this.name = name; } private String name; } // 子类 public class Son:Father { public Son(String name) : base(name) { } }注意:如果没有第14行“:base(name)”,编译器将报告错误:“Father”不包含采用“0”参数的构造函数。因为默认隐式调用父类不带参数的构造方法,而Fat... 阅读全文

posted @ 2012-06-27 09:18 流星落 阅读(4159) 评论(0) 推荐(0) 编辑

C#中base关键字-调用父类成员

摘要: C#中base关键字在继承中起到非常重要的作用。它与this关键字相比,this关键字代表当前实例。base关键字代表父类,使用base关键字可以调用父类的构造函数、属性和方法。使用base关键字调用父类构造函数的语法如下:子类构造函数:base(参数列表)使用base关键字调用父类方法的语法如下:base.父类方法();using System ;class Teacher//老师类{public Teacher()//构造函数1 { Console.WriteLine ("我是一位教师。"); }public Teacher(string str)//构造函数2 { C 阅读全文

posted @ 2012-06-27 09:17 流星落 阅读(3622) 评论(0) 推荐(0) 编辑

C#中this关键字-调用本类成员

摘要: 关键字this有两种基本的用法,一是用来进行this访问,二是在声明构造函数时指定需要先执行的构造函数。一、this访问在类的实例构造函数和实例函数成员中,关键字this表示当前的类实例或者对象的引用。this不能用在静态构造函数和静态函数成员中,也不能在其他地方使用。当在实例构造函数或方法内使用了与字段名相同的变量名或参数名时,可以使用this来区别字段和变量或者参数。下面的代码演示了this的用法。public class Dog{ public string name; public int age; public Dog() { } public Dog(string name) // 阅读全文

posted @ 2012-06-27 09:17 流星落 阅读(2493) 评论(0) 推荐(0) 编辑

C#设置访问权限

摘要: 在C#中有一个规定:编译器不允许派生类的可访问性比其基类更高。也就是说,内部类可以继承于一个公共类,但公共类不能继承于一个内部类。1、public 关键字是类型和类型成员的访问修饰符。公共访问是允许的最高访问级别。对于访问公共成员没有限制。有关 public 与其他访问修饰符的比较,请参见可访问性级别。示例在下例中,声明了两个类:MyClass1 和 MyClass2。直接从 MyClass2 访问 MyClass1 的公共成员 x 和 y。// protected_public.cs// Public accessusing System;class MyClass1 { public in 阅读全文

posted @ 2012-06-27 09:16 流星落 阅读(721) 评论(1) 推荐(0) 编辑

默认构造函数的作用(“A”方法没有采用“0”个参数的重载

摘要: 构造函数主要用来初始化对象。它又分为静态(static)和实例(instance)构造函数两种类别。大家应该都了解如何来写类的构造函数,这里只说下默认构造函数的作用,以及在类中保留默认构造函数的重要性。实际上,我说错了。正确的说法是:以及在类中保留空参数构造函数的重要性。我们来写一个类A,代码如下:public class A{ public int Number; //数字 public string Word; //文本}//在Test类中实例化public class Test{ static void Main(){ A a = new A(); //实例化,A()即为类A的默认构造函 阅读全文

posted @ 2012-06-27 09:15 流星落 阅读(520) 评论(0) 推荐(0) 编辑

C#继承中访问修饰符的区别

摘要: 继承中访问修饰符的区别一、public 类内部可以,子类可以,其他类可以。二、private 类内部可以,子类和其他类都不可以。三、protected 类内部和子类可以,其他类不可以。四、internal 类声明为内部的,即只有当前工程中的代码才能访问它。父类中的成员如果用public修饰,任何类都可以访问;如果用private修饰,它将作为私有成员,只有类本身可以访问,其他任何类都无法访问。在C#中,使用protected修饰符的成员可以被其子类访问,而不允许其他非子类访问。父类中只有被“public”,“protected”,“internal”修饰的成员才可以被继承。这些成员包括父类的字 阅读全文

posted @ 2012-06-27 09:15 流星落 阅读(811) 评论(0) 推荐(0) 编辑

C#中构造函数不是不能被继承吗?为什么以下的构造函数先执行?

摘要: using System;public class ParentClass{public ParentClass(){ Console.WriteLine("父类构造函数。");}public void print(){ Console.WriteLine("I'm a Parent Class。");}}public class ChildClass: ParentClass{public ChildClass(){ Console.WriteLine("子类构造函数。");}public void print(string 阅读全文

posted @ 2012-06-27 09:14 流星落 阅读(810) 评论(0) 推荐(1) 编辑

上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 52 下一页

导航