属性在调用者看来就像一个普通的变量,但作为类的设计者,你可以利用属性来隐藏你类中的一些字段,使外界只能通过属性来访问你的字段,你可以通过属性来限制外界对你的字段的存取,就利用get、set。如果想让用户随意存取你的字段,那么就实现get、set;如果只想让用户读取字段,就只实现get;若只想让用户写字段就只实现set。同时还可以在set和get中对用户传递的值进行一些验证工作,以确保你的字段将含有正确的值。

get和set虽然也是两个方法,但是这次只用这两个来解决兔子问题

        private int num = 0;  public int Num  {   get {   if (num == 1 || num == 2)   return 1;   int n = num;   int nn =0; Num = n - 1;   nn += Num;    Num = n - 2;   nn += Num;    num = n;   return nn;  }   set {   num = value;   }   }   static void Main(string[] args) {   Program program = new Program();   for (int i = 1; i <= 10; i++)    {   program.Num = i;   Console.Write($"{program.Num} "); }   }

实现其实还是递归,但是是通过get方法实现,加上get

,set用起来比较特殊,看着很牛逼实则没卵用

我对属性的理解就是在

=左边触发set方法

=右边触发get方法

        private int num = 0; public int Num  {   get {   if (num == 1 || num == 2)   return 1;   return (Num = num - 1) + (Num = num - 2);    }   set {   num = value;   }   }

我刚开始是这样写,发现set方法不会触发

C#只用属性来解决兔子,不用方法和循环相关推荐

  1. java jar 没有主清单属性_Spring Boot jar中没有主清单属性的解决方法

    使用Spring Boot微服务搭建框架,在eclipse和Idea下能正常运行,但是在打成jar包部署或者直接使用java -jar命令的时候,提示了xxxxxx.jar中没有主清单属性: D:\h ...

  2. 在less中不能正常使用css3的calc属性的解决方法

    在less中不能正常使用css3的calc属性的解决方法 参考文章: (1)在less中不能正常使用css3的calc属性的解决方法 (2)https://www.cnblogs.com/zhaozh ...

  3. jQuery 移除属性失败解决方法

    jQuery 移除属性失败解决方法 方法一: $(this).attr("onclick",""); 兼容性:点击事件方法代码能移除,但事件绑定没有解除 方法二 ...

  4. 项目报找不到属性时解决方法

    复习Java期间: 今天对原生的写项目方式进行复习,在基本增删改查时遇到了一个小小的问题,就是前端在读取我将session内的数据一直读取不到,错误提示是一直没有找到该字段名:如下: javax.el ...

  5. php动态创建属性,PHP使用方法重载实现动态创建属性的get和set方法

    在PHP中,我们不能够直接通过方法名相同,签名不同的方法来@R_404_369@重载,因为PHP是弱数据类型,不能很好的区分签名.但是,可以在PHP的类中运用__call()方法来@R_404_369 ...

  6. 解决乱码的方法(转)

    出现乱码怎么办,解决乱码的方法一,出现乱码的原因分析 1,保存文件时候,文件有自己的文件编码,就是汉字,或者其他国语言,以什么编码来存储 2,输出的时候,要给内容指定编码,如以网页的形势输入时< ...

  7. python隐藏部分代码_python隐藏类中属性的3种实现方法

    方法一: 效果图一: 代码一: # 定义一个矩形的类 class Rectangle: # 定义初始化方法 def __init__(self,width,height): self.hidden_w ...

  8. php狼和兔子算法,PHP基于递归算法解决兔子生兔子问题php技巧

    这篇文章主要介绍了PHP基于递归算法解决兔子生兔子问题,结合实例形式分析了兔子生兔子问题的php面试题采用循环与递归两种思路的解决方法,需要的朋友可以参考下 本文实例讲述了PHP基于递归算法解决兔子生 ...

  9. 计算机属性桌面打不开怎么办,win10电脑桌面图标属性打不开如何解决_win10无法打开桌面图标属性面板解决步骤...

    当我们要对桌面图标进行一些设置的时候,都会通过打开属性来操作,但是有win10系统用户却遇到电脑桌面图标属性打不开的情况,碰到这样的问题该怎么办呢,为此本文就给大家讲解一下win10无法打开桌面图标属 ...

最新文章

  1. 迁移学习之InceptionV3(159层),Xception(126层),Inception_ResNet_V2(572层)(图像识别)
  2. 阿里2019实习内推,五轮技术面+一轮HR面,Java岗面经
  3. 文巾解题 116. 填充每个节点的下一个右侧节点指针
  4. Python-OpenCV 处理视频(二): 视频处理
  5. html date 设置时间,JavaScript Date(日期)
  6. python服务端多进程压测工具
  7. 从零开始学习docker(六)部署一个稍微复杂一点的应用
  8. 配置vim在源代码中自动添加作者信息
  9. ArcGIS 10.7拆分多部件要素(Multipart Features)至单部件要素的两种方法
  10. KlayGE 4.4中渲染的改进(五):OpenGL 4.4和OpenGLES 3
  11. 一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程)
  12. 一个架构师谈什么是架构,以及怎么成为架构师
  13. 安装java正在使用中_如何安装java,安装JDK,JAVA SE正在使用中,安装不了
  14. garmone build on sb2
  15. 家用计算机的ram怎么清理,电脑内存满了怎么清理【解决流程】
  16. excel如何把多张表合并成一个表_如何快速把多个excel表合并成一个excel表?
  17. UE4 制作玻璃材质总结
  18. 简单的w7-->w10的方法
  19. CentOS7安装Nextcloud+ocDownloader+aria2使用Nextcloud网盘做离线下载服务器
  20. Powell算法、Powell修正算法_matlab仿真

热门文章

  1. vba发送邮件 签名_如何更改“从Windows 10的邮件发送”签名
  2. 自定义v-drag指令(横向拖拽滚动)
  3. 深入理解Spring异常处理
  4. centOS下安装jdk1.8
  5. 常见的js算法面试题收集,es6实现
  6. 201521123070 《JAVA程序设计》第13周学习总结
  7. imx6 i2c分析
  8. 安装分布式文件系统MooseFS
  9. Nutch 是一个开源Java 实现的搜索引擎
  10. AngularJS学习---REST和自定义服务(REST and Custom Services) ngResource step 11