A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© §風過無痕§ 金牌黑马   /  2013-6-26 14:48  /  1149 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 §風過無痕§ 于 2013-6-26 19:20 编辑

以下代码是依照苏坤老师培训视频里讲的属性那段 仿写   :
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. Employees zs = new Employees();//构造
  6. zs.Name = "王二麻子";
  7. zs.Sex = '女';
  8. zs.Age = 28;
  9. zs.Wages = 999;
  10. zs.Bonus = 200;
  11. zs.SayHello();
  12. zs.Shownumber();
  13. Console.ReadKey();
  14. }
  15. }
  16. /// <summary>
  17. /// 声明一个类,该类有5个属性
  18. /// </summary>
  19. public class Employees
  20. {
  21. string name;

  22. public string Name
  23. {
  24. get { return name; }
  25. set { name = value; }
  26. }
  27. char sex;

  28. public char Sex
  29. {
  30. get { return sex; }
  31. set
  32. {
  33. if (Sex == '男' || Sex == '女')
  34. sex = value;
  35. else
  36. sex = '0';
  37. }
  38. }
  39. int age;

  40. public int Age
  41. {
  42. get { return age; }
  43. set
  44. {
  45. age = value > 0 ? value : 0;
  46. }
  47. }
  48. decimal wages;

  49. public decimal Wages
  50. {
  51. get { return wages; }
  52. set
  53. {
  54. wages = value >= 1000M ? value : 1000;
  55. }
  56. }
  57. decimal bonus;

  58. public decimal Bonus
  59. {
  60. get { return bonus; }
  61. set
  62. {
  63. bonus = value >= 0M ? value : 0;
  64. }
  65. }
  66. public void SayHello()// 定义一个方法实现打招呼,若此处修饰符为static则无法访问上面的字段(属性)
  67. {
  68. Console.WriteLine("我叫{0},我是{1}生,我的年龄是{2}岁", name, sex, age);
  69. }
  70. public void Shownumber()//定义一个方法 实现通报工资
  71. {
  72. decimal sum = wages + bonus;
  73. Console.WriteLine("我叫{0},我的工资是{1},我的奖金是{2},总工资为{3}", name, wages, bonus, sum);
  74. }
  75. }
复制代码
运行结果:
  1. 这段代码有木有问题 请赐教
  2. char sex;

  3. public char Sex
  4. {
  5. get { return sex; }
  6. set
  7. {
  8. if (Sex == '男' || Sex == '女')
  9. sex = value;
  10. else
  11. sex = '0';
  12. }
  13. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

2 个回复

倒序浏览
粗心大意了吧,看我给你的截图,红色圈处,下面是你的代码,看看一样吗,不一样,
public char Sex
{
get { return sex; }
set
{
if (Sex == '男' || Sex == '女')
sex = value;
else
sex = '0';
}
}

主要是这
if (Sex == '男' || Sex == '女')
sex = value;
既然后面把value的值赋给sex,你if()里面,怎么没value值呀。所以说应该是
if(value=="男"||value=="女")
可能语言表达能力不是太好,如果听不懂的话,再把老师的视频看一遍。

04属性习题[26201306181245GMT].JPG (106.17 KB, 下载次数: 0)

图1

图1

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
道法乾坤110 发表于 2013-6-26 18:16
粗心大意了吧,看我给你的截图,红色圈处,下面是你的代码,看看一样吗,不一样,
public char Sex
{

灰常谢谢!感谢点拨
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马