yzx99

导航

 
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 30 下一页

2008年5月30日

摘要: 今年看到一种实现索引的方法,后来调试一下才知道这是对对象索引的,不是我想要的对属性索引的。 using System; public class m { static void Main() { point p=new point(); p[0]=13; Console.WriteLine("y[0]=" + p[0].ToString()); } } class point... 阅读全文
posted @ 2008-05-30 00:45 yzx99 阅读(1275) 评论(0) 推荐(0) 编辑
 

2008年5月29日

摘要: 在测试这些程序中发现一个问题,这样的代码程序可以通过: using System; static class m { static void Main() { point rp=new rectpoint(12, 15); rp.show(); } } class point { protected int m_x; protected int m_y; public vi... 阅读全文
posted @ 2008-05-29 11:03 yzx99 阅读(301) 评论(7) 推荐(0) 编辑
 
摘要: 目前,基类的所有公开的数据成员与成员函数,以及所有protected的数据成员与成员函数都会被子类一一继承。但会不会有时候要把基类的一些接口给屏蔽掉呢?好像是没什么具体实例,但了解一下也是可以的。 查网络上的一些方法,一般是方法重写,里面什么内部都没有。这样说来,也只是基类如果执行该方法,编译器是不会报错的,只是没有任何语句在里面执行而已。方法重写时,基类方法要标为virtual,子类的方法标为o... 阅读全文
posted @ 2008-05-29 10:59 yzx99 阅读(675) 评论(2) 推荐(0) 编辑
 
摘要: 属性的代码会特别一些,是由get与set组成,重载时,有时只要重载其set代码,需要如何处理? 首先是基类属性要加上virtual,然后子类就可以这样写(假设只要重载set): public override int x { set { if (value20) m_x=20; else m_x=value; } } 即对属性x标记为override,但里面只有se... 阅读全文
posted @ 2008-05-29 10:57 yzx99 阅读(285) 评论(0) 推荐(0) 编辑
 

2008年5月28日

摘要: 修改或加强基类原有的方法,专业术语要“方法重写”。我老是把这三个概念混在一起:重载、重构、重写,现在区分一下: 重载是建立一个相同名称、不同参数的成员函数。 重构是“在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性”。这与面对对象没有直接关联。 重写就是子类对父类的一个方法进行修改。 如,我们的rectpoint准备对父... 阅读全文
posted @ 2008-05-28 22:46 yzx99 阅读(510) 评论(0) 推荐(0) 编辑
 
摘要: 增加一个基类没有的方法,只要按正常的代码写就行,没有什么大困难。如我对rectpoint增加一个showxy的方法: public void showxy() { Console.WriteLine("(x, y)=(" + m_x.ToString() + ", " + m_y.ToString() + ")"; } 这时,我编译一下,提示: p.cs(67,34): error CS... 阅读全文
posted @ 2008-05-28 22:24 yzx99 阅读(370) 评论(0) 推荐(0) 编辑
 
摘要: 总算踏入面对对象的实质性领域了。继承的格式为: class 子类名:父类名 { 子类的具体内容 } 我们先建一个基类point class point { private int m_x; private int m_y; public int x { get {return m_x;} set {m_x=value;} } public int y { get {re... 阅读全文
posted @ 2008-05-28 22:22 yzx99 阅读(286) 评论(0) 推荐(0) 编辑
 

2008年5月27日

摘要: C++有"友元"的概念(friend),而C#则没有.替代方案好象挺复杂的,不适合我这个初学者深入. 友元增加了类与类之间的耦合度,想一下好像没什么用.网络上看到一个例子,比较有趣:一个"普通人"类,口袋有钱(私有的),然后他如果把一个"贼"类设为友元(认贼为友),"贼"类就可以清松地偷取"普通人"的钱,使其减少.现在C#就不容易实际它了. 阅读全文
posted @ 2008-05-27 23:50 yzx99 阅读(197) 评论(1) 推荐(0) 编辑
 

2008年5月26日

摘要: this表示当前的类,所以它只会在本类中使用,到了另一个类,就不是当前的类了。它的基本用法可以用以下代码来表现。 using System; class m { static void Main() { point p=new point(); p.w1(15); } } class point { private int x=12; public void w1(int... 阅读全文
posted @ 2008-05-26 23:43 yzx99 阅读(329) 评论(1) 推荐(0) 编辑
 
摘要: “析”字,我容易理解为“分析”,好象是最开头的事,但析字本身都是分开的含义,以后,我应该多记这个词语“分崩离析”。析构函数是与构造函数相对应的,一个构造,一个销毁。看帮助文档里面,对析构函数的条条框框还是挺多的: ·一个类只能有一个析构函数; ·析构函数必须与类同名; ·无法继承或重载析构函数; ·无法调用析构函数,它们是被自动调用的; ·析构函数即没有修饰符,没有参数,也没有返回值; ·如果类没... 阅读全文
posted @ 2008-05-26 00:01 yzx99 阅读(483) 评论(0) 推荐(0) 编辑
 
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 30 下一页