- 博客(51)
- 资源 (53)
- 收藏
- 关注
翻译 Head First C# 中文版 图文皆译 第六章 继承 page216
你会怎样设计动物园模拟器呢?狮子、老虎、熊...哈哈!还有河马、狼,或许还有猫。你要设计一个动物园模拟程序。(别太兴奋了--我们不是真的要去写代码,只是设计动物们的类。)我们有一个要写到程序里面去的动物的列表,但是并不全。我们知道每个动物都需要有一个对象代表,对象将会在模拟器中移动,做它被预先编程的事情。更重要的是,我们的程序要让别的程序员容易维护,也就是说别的程序员将
2009-02-28 13:36:00 1405
翻译 Head First C# 中文版 图文皆译 第六章 继承 page215
从概括到具体的构建你的类模型C#程序使用继承,因为它模拟你要构建的现实事物之间的关系。现实事物总是处于由概括到具体的层级中,你的程序也有自己的类层级。你的类模型中,下面层级中的类继承于上面层级中的类。继承,动词从祖先或者父母那儿取得一种特性。她想让孩子继承自己的褐色大眼睛,而不是她丈夫的蓝色小圆眼。
2009-02-27 17:50:00 598
翻译 Head First C# 中文版 图文皆译 第六章 继承 page214
给你的类应用继承,你的代码就只需要写一次了DinnerParty和BirthDayParty两个类中有很多相似代码并不是巧合。用C#写程序的时候,总是会创建代表现实事物的类--而现实中的事物总是相关联的。你的类中有相似代码是因为它们代表的现实事物--生日聚会和晚宴聚会--有着相似的行为。晚宴聚会和生日聚会都是聚会如果有两个类都是某种概括性事物的特例,你可以让它们
2009-02-27 10:46:00 550
翻译 Head First C# 中文版 图文皆译 第六章 继承 page213
另一件事儿...你可以给超过12人的聚会额外收费$100吗?用了你的程序,凯瑟琳接到了很多的用户,她可以跟某些大客户多收一点费用了。那,要怎么做才能让你的程序有多收费一点的功能呢?*修改DinnerParty.CalculateCost()方法来让它检查NumberOfPeople,如果人数多于12,就给返回值加上$100。*用同样的方式修改BirthDayParty.
2009-02-26 12:29:00 631
翻译 Head First C# 中文版 图文皆译 第六章 继承 page212
给凯瑟琳的聚会计划程序添加生日聚会括号对于单行的代码块来说是可选的很多时候你的if语句或者while循环下面的代码块中都会只有一句语句。如果有很多这样的if和while,也就会有很多的括号--它看起来很不顺眼!C#允许你在代码块中只有一句语句的情况下省略掉括号,这样就解决了问题。所以下面的代码绝对符合语法:
2009-02-26 11:07:00 673
翻译 Head First C# 中文版 图文皆译 第六章 继承 page209
四.构建生日聚会的界面生日聚会的GUI含有一个NumbericUpDown控件来代表人数,含有一个CheckBox控件来代表高级装饰,一个有着3D边界的标签来显示总花费。然后还有一个TextBox控件来显示蛋糕上要写的字。五.你将需要这个属性这是BirthDayParty.CakeWriting属性的代码--它会派上用场的:六.把它们组合起来所有的部分都写好了,现在
2009-02-25 09:33:00 667
翻译 Head First C# 中文版 图文皆译 第六章 继承 page207
我们需要一个BirthDayParty类修改你的程序来计算生日聚会的花费就意味着要添加一个类并改变窗体来同时掌管两种类型的聚会。一、 创建一个新的BirthDayParty类这个类要计算花费,处理装饰,并检查蛋糕上的字体的大小。 二、 添加一个TabControl控件到窗体上。窗体上的每一个tab就像第三章上显示Joe和B
2009-02-24 08:52:00 604
翻译 Head First C# 中文版 图文皆译 第六章 继承 page206
凯瑟琳也承接生日聚会你的程序已经可以工作了,凯瑟琳总是在用它。但是她不只是承晚宴聚会--她现在也做生日聚会,而且计费方式与晚宴聚会有所不同。她需要你给程序添加生日聚会的功能。
2009-02-20 19:33:00 691
翻译 Head First C# 中文版 图文皆译 第六章 继承 page205
有时你真的想要像你的父母。曾经遇到过可以做你想要它做的事情的对象吗?曾经希望过你只要只要修改一点东西对象就变得完美了吗?这就是C#语言中继承如此重要的原因。读了这一章,你将学会如何通过继承一个对象来获得它的行为,同时还保持修改它的行为的灵活性。你将不用再复制代码,可以更好的模拟现实世界,最后写出容易维护的代码。
2009-02-20 15:22:00 3731
原创 Head First C# 中文版 图文皆译 第五章 封装 翻译完毕 PDF下载
第五章PDF下载:http://download.csdn.net/source/1025273另外:第十一章PDF下载地址:http://download.csdn.net/source/776440第四章PDF下载:http://download.csdn.net/source/984035第三章PDF下载:http://download.csdn.net/source/879
2009-02-19 21:44:00 1479 7
翻译 Head First C# 中文版 图文皆译 第五章 封装 page203
用你已经学过的属性和构造方法知识来修改凯瑟琳的聚会计划程序。①怎么修改聚会计划计算器要想修改DinnerParty类,我们需要有办法让CalculateCostOfDecorations()方法在每次NumberOfPeople改变时都得以执行。②添加属性和构造方法想要修复凯瑟琳的问题,确保DinnerParty类被良好的封装就可以了。从把NumberOfPeopl
2009-02-19 13:22:00 579
翻译 Head First C# 中文版 图文皆译 第五章 封装 page202
写出下面代码执行之后变量amountOwed的值。这段代码有问题,写出你认为哪儿错了,怎么修改。
2009-02-19 11:39:00 511
翻译 Head First C# 中文版 图文皆译 第五章 封装 page201
问:我注意到你给某些字段命名时用大写字母而有些是小写的。这个要紧吗?答:是的,对你来说要紧。不过对于编译器无关紧要。C#不关注你怎么给你的变量命名,但是如果你的命名很怪异的话,你的代码就会很难读懂。有时同名的变量会让人迷惑,而一个大写一个小写的情况就可以除外。下面有几条建议帮你了解变量名。这不是严格的规矩--编译器不管变量名是大写还是小写--但是这些建议可以帮你把代码弄得易懂。1.
2009-02-18 19:49:00 1438
翻译 Head First C# 中文版 图文皆译 第五章 封装 page200
看看这儿的get和set访问器。使用这个类的窗体含有一个CableBill(有线电视账单)的新实例,叫做thisMonth,它还会通过点击按钮来调用GetThiMonthBill()方法。写出下面代码执行之后amountOwed变量的值。
2009-02-18 17:27:00 615
原创 格物致知 《Effective C#》读书笔记--验证二进制兼容性
昨天读了《Effective C#》的第一个条款“使用属性代替可访问的数据成员”,讲到要把公有字段修改为私有字段,并用公有属性把它封装起来。这一点不难理解,不过里面提到了一个关于二进制兼容性的问题,很是有趣,今天来验证一下。验证思路:创建一个类库内有一个public的类,该类内有一个public的字段。另外创建一个WinForm程序去读区该字段并显示。然后修改类库中的字段为属性。再
2009-02-18 13:27:00 1499 2
翻译 Head First C# 中文版 图文皆译 第五章 封装 page199
问:为什么我在get或者set访问器中需要复杂的逻辑呢?它不只是创建字段的一种方式吗?答:因为有的时候,设置一个字段的同时需要做一些计算或者执行某些动作。回想一下凯瑟琳的麻烦--她之所以遇到了问题就是因为重新设置人数之后没有运行重新计算装饰费的方法。而如果用一个set访问器来代替字段的话,就可以确保每次都会重新计算装饰费了。(其实,再过几页你就要这么做了!)问:等会儿--这么说来,
2009-02-18 11:59:00 596
翻译 Head First C# 中文版 图文皆译 第五章 封装 page198
我们来近距离的看看Farmer的构造方法,这有助于我们更好的了解它的运作。问:构造方法可以没有参数吗?答:可以。其实一个类的构造方法没有参数是很常见的。实际上,你已经见过一个例子了--你的窗体的构造方法。找一个窗体的构造方法的定义来看一看:这是你的窗体对象的构造方法。它虽然不接受参数,可是也做很多事儿。花一分钟打开Form1.Designer.cs来看看。找到Initi
2009-02-18 09:11:00 539
翻译 Head First C# 中文版 图文皆译 第五章 封装 page197
用构造方法来初始化私有字段如果你需要初始化对象,而这个对象需要被初始化的字段中有一些是私有的,这时对象初始化器就不适用了。很幸运,有一种你可以添加进任何类中的方法叫做构造方法。一个类,如果有构造方法的话,它被new关键字创建的时候,构造方法将会是第一个得以运行的。你可以给构造方法传参,参数就是需要初始化的值。但是构造方法没有返回值,因为你实际上并没有直接调用它。参数传递进new语句中。而且
2009-02-17 14:45:00 477 3
原创 test article
“群视”文内广告,采用独特的智能化行为分析技术,将消费者感兴趣的资讯预先搜索并主动呈现。当用户借用鼠标触发关键字时,温和展现图文、Flash、视频等多媒体效果,点击进入即可查看相关资讯。“群视”传播,一个将广告商、网络媒体、网民三方完美结合的广告发布系统,正以其专业、智能和高含量的技术纯度,成为您的精准网络营销专家!
2009-02-11 21:16:00 488
翻译 Head First C# 中文版 图文皆译 第五章 封装 page196
如果想要修改饲料的乘数怎么办呢?我们写的程序使用一个const来做乘数。如果我们想要在其他程序中使用Farmer类,而其他程序需要不同的饲料乘数怎么办呢?你已经见识过给别的类过多的访问权的时候,糟糕的封装性会造成什么问题。所以,只有真正需要的时候才把字段和方法设置为公有的。由于饲料计算器自己从来不需要更新FeedMultiplier(饲料乘数),所以也没必要让别的类可以修改它。我们把它修改
2009-02-11 21:10:00 1212
翻译 Head First C# 中文版 图文皆译 第五章 封装 page195
使用自动属性来结束这个类看起来牛饲料计算器工作的不错。试一下--运行一下并按按钮。然后把牛数改为30并再点击按钮。然后再把牛数改为5和20。下面是输出窗口应该看起来的样子:但是这个类有个问题。给窗体添加一个按钮让它执行下面的语句:farmer.BagsOfFeed = 5;再次运行你的程序。不点击新添加的按钮的话,看起来还好。但是点击了这个新添加的按钮,再点击Calcula
2009-02-11 16:56:00 622
翻译 Head First C# 中文版 图文皆译 第五章 封装 page194
<!--qs_pid = 99012761;qs_cid = 12824;qs_link_color = "#00A500";qs_max_ads_num = 12;qs_frame = "0";qs_link_style = 4;qs_link_effect = 0;qs_title_text = "";qs_ads_area_list = [];qs
2009-02-10 22:30:00 586
翻译 Head First C# 中文版 图文皆译 第五章 封装 page193
属性使得封装更容易实施C#有特殊的方法可以让你封装数据更容易。你可以使用属性,属性是每次字段被读取或设置的时候都得以执行的方法,也叫做后台字段。get和set访问器使用起来就像字段一样。下面是一个设置牛的数目并读取饲料数目的按钮的代码:
2009-02-10 16:52:00 503
翻译 Head First C# 中文版 图文皆译 第五章 封装 page192
封装让你的数据原封不动有时你的程序会改变字段的值。如果你不显式的告诉程序去重设值,你可以用旧的值来做计算。这种情况下,你会想让程序在每次某个字段改变的时候执行一些语句--就好像让凯瑟琳的程序每次修改人数的时候都重新计算聚会花费。我们可以通过用私有字段封装数据来避免这个问题。我们将会提供一个方法来获取字段值,另一个方法设置字段值并做必须的计算。一个封装的快速范例一个Farmer类用一
2009-02-10 12:26:00 632
翻译 Head First C# 中文版 图文皆译 第五章 封装 page191
给封装的类的一些好主意*考虑一下字段可能会被滥用的方式如果字段没有被合适的设置的话会出什么错?*你的类的里面的东西都是公有的吗?如果你的类的字段和方法都是公有的话,你可能需要花点时间来考虑一下封装了。*什么字段在设置的时候需要处理或者计算?这些是封装的首要考虑因素。如果有人稍后会写方法来改变这些字段的值,那就会给你的程序已经做过的工作造成问
2009-02-09 22:59:00 1290 2
翻译 Head First C# 中文版 图文皆译 第五章 封装 page190
这是一个有私有字段的类。把下面使用这个类的叫做mySuperChef的实例的代码中不能编译的圈出来。
2009-02-09 14:14:00 550
翻译 Head First C# 中文版 图文皆译 第五章 封装 page189
这是一个有私有字段的类。把下面使用这个类的叫做mySuperChef的实例的代码中不能编译的圈出来。
2009-02-08 21:45:00 484
翻译 Head First C# 中文版 图文皆译 第五章 封装 page188
私有字段和方法只可以从类内部访问一个对象要接触到另一个对象内存储的数据只有一个方法:使用返回数据的公有方法和字段。克格勃和军情五处的探员们需要使用AgentGreeting()方法,而友方间谍可以看到一切--同类的实例可以看见彼此的私有字段。 问:好,访问私有字段需要通过公有方法。但是如果类不提供访问私有字段的公有方法,而我的对象又需要访问它怎么办呢?答:那你
2009-02-08 18:34:00 536
翻译 Head First C# 中文版 图文皆译 第五章 封装 page187
但是,realName字段真的被保护起来了吗?所以,只要克格勃不知道中情局探员的密码,中情局探员的真实姓名就是安全的,对吧?但是realName字段的声明又是怎样的呢:Jones探员可以使用私有字段来把保护自己的身份。一旦他把realName字段设置为private,访问它的唯一方式是调用对类的私有部分有访问权的方法。这样克格勃就被击退了!
2009-02-07 23:40:00 610
翻译 Head First C# 中文版 图文皆译 第五章 封装 page186
用封装来控制你的类的字段和方法的访问当你把你的一个类的字段和方法都设置为public的时候,其他的类都可以访问它们,这个类知道的和会做的事儿对其他类都是一目了然...而且你也看见了这会怎么样的使得你的程序以你未预期的方式运作。封装让你可以控制要共享什么要把什么设置为私有的。我们来看看这是怎么工作的:1 超级间谍 Herb Jones,作为一个卧底探员正在苏联保卫生命,自由和对幸
2009-02-07 18:29:00 1808 2
翻译 Head First C# 中文版 图文皆译 第五章 封装 page185
封装意味着把类中的某些数据保持为私有有一个简单的方式可以避免这类问题:确保只有一种方式来使用你的类。幸运的是,C#通过允许你把字段设置为private来解决这类问题。迄今为止,你只见过公有字段。如果你的对象有一个公有字段,那么其他对象都可以读取或者改变这个字段。如果这个字段是私有的,那么这个字段就只可以在对象内部访问(或者另一个同类的对象)。
2009-02-07 14:36:00 545 1
翻译 Head First C# 中文版 图文皆译 第五章 封装 page184
你一不小心就会意外的错用了对象凯瑟琳的问题是因为她忽略了方便的CalculateCostOfDecorations()方法而是直接去用DinnerParty的字段。所以,虽然你的DinnerParty类工作的不错,但是窗体以未预期的方式调用了它...这就导致了问题。1 DinnerParty类被预期以什么方式调用DinnerParty类给了窗体一个很好的方法来计算装饰的
2009-02-06 22:53:00 608
翻译 Head First C# 中文版 图文皆译 第五章 封装 page183
看看响应NumericUpDown控件的值的改变的方法。它先把值赋给NumberofPeople变量然后调用DisplayDinnerPartyCost()方法。然后就靠着这个方法来重新计算每一项的花费。所以,当你修改了NumberofPeople字段的值的时候,这个方法不会得到调用:人们并不是总会按照你预期的方式使用你的程序的。很幸运,C#给了你一个很
2009-02-06 21:07:00 769
翻译 Head First C# 中文版 图文皆译 第五章 封装 page182
别担心!这不是你的错。我们在代码中故意做出一个bug来让你知道对象在使用彼此的字段的时候是多么容易出问题...还有要指出这些错误是多么费劲。每个选择应该要单独计算虽然我们根据凯瑟琳说的来计算了所有的数字,但是我们没有考虑只改变一个窗体上的选择的时候会怎么样。载入窗体的时候,窗体把人数设置为5,把高级装饰选项设置为true。健康选择没有选中,总的花费是350美元。初始的花费是
2009-02-06 14:47:00 719
原创 SWPU学分绩点计算器女生版
所谓女生版就是指的GUI稍微美化了一点点,我承认是标题党....注意:需要有.net Framework 2.0才可以运行.net Framework 2.0下载地址(如果你的电脑没有请在这儿下载):http://www.gougou.com/search?search=.net%20Framework%202.0&id=0 学分绩点计算器下载地址:http://downloa
2009-02-06 01:06:00 9912 7
翻译 Head First C# 中文版 图文皆译 第五章 封装 page181
凯瑟琳:哦,好像是....啊,660美元Rob:660?我觉得装饰费是每人15美元。改价了还是怎么着?要是只有5美元的差异,我们还是要高级装饰吧。我得说,这个定价挺忽悠人的。凯瑟琳:我们刚写了个程序来计算估价。但是好像有点问题。等会儿,我再把高级装饰加回去。凯瑟琳:Rob,我觉得这儿有错。再加上高级装饰价格就飙升到了770美元。我不信任这个程序了
2009-02-05 16:39:00 1564
Head.First.C#.中文版.图文皆译.第十一章.事件和委托.翻译完毕.PDF下载
2008-11-14
Head.First.C#.中文版.图文皆译.第二章.PDF
2008-10-31
Head.First.C#.中文版.第一章
2008-10-20
niit j2me 作业题+答案
2008-09-08
使用AvalonDock制作WPF多标签浏览器
2010-03-17
Words Via Subtitle
2009-09-10
通过英文剧集、电影学单词
2009-09-03
easyMule自动关机工具(可用于1.X和2.0版本)
2009-09-01
MLDN魔乐科技_Oracle课堂19_修改约束、ROWNUM
2009-04-20
MLDN魔乐科技JAVA培训_Oracle课堂14_SQL语法练习1
2009-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人