博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
附录A培训实习生-面向对象基础方法重载(3)
阅读量:4559 次
发布时间:2019-06-08

本文共 1219 字,大约阅读时间需要 4 分钟。

就上一篇代码而言,你如果写Cat cat = new Cat();会直接报错错误 :

1       “Cat”方法没有采用“0”个参数的重载 E:\大话设计模式学习\BigDesignPatterns\附录A培训实习生之面向对象基础\动物运动会\AnimalGames\Form1.cs       20     23     AnimalGames

原因就是必要给小猫起名字.如果当真需要不起名字也要生出小猫来,可以采用方法重载.

方法重载提供了创建同名的多个方法的能力,但这些方法需使用不同的参数类型.注意不是只有构造方法可以重载,普通方法也可以.

方法重载:方法名相同,但是参数类型或个数必须不同.

方法重载的好处是什么?

方法重载的好处就是在不改变原方法的基础上,新增功能(方法重载就是提供了函数可扩展的能力).

对Cat进行重载:

1    class Cat 2     { 3         private string name = "";//声明Cat类的私有字符串变量name 4  5         ///  6         /// 定义Cat的构造方法,参数是输入一个字符串 7         ///  8         ///  9         public Cat(string name)10         {11             this.name = name;//将参数赋给私有变量name12         }13 14         /// 15         /// 构造方法重载16         /// 17         public Cat() 18         {19             this.name = "无名";20         }21 22         public string Shout() 23         {24             return "我的名字叫" +name+ "瞄";25         }26     }

调用的时候:

1 private void button1_Click(object sender, EventArgs e)2         {3             Cat cat = new Cat();//将cat实例化4             //注意:Cat cat = new Cat();其实做了两件事,5             //Cat cat;声明一个Cat的对象,对象名是cat6             //cat = new Cat();将此cat对象实例化7             MessageBox.Show(cat.Shout());8         }

转载于:https://www.cnblogs.com/liubeimeng/p/3913497.html

你可能感兴趣的文章
EasyPlayer RTSP Android安卓播放器修复播放画面卡在第一帧bug
查看>>
web项目中全局常量的添加
查看>>
搬运工程 启动!
查看>>
局部加权回归(LWR) Matlab模板
查看>>
Connect to the DSP on C6A8168/DM8168/DM8148 using CCS
查看>>
hibernate在使用getCurrentSession时提示no session found for current thread
查看>>
【Luogu1471】方差(线段树)
查看>>
DEV中svg图标的使用
查看>>
Codefroces Gym101572 I.Import Spaghetti-有向图跑最小环输出路径(Floyd)
查看>>
有关位运算的操作+二进制状态压缩
查看>>
Eclipse插件 -- 阿里巴巴扫描编码规插件
查看>>
(1.1)学习笔记之mysql体系结构(内存、进程、线程)
查看>>
markdown测试
查看>>
Java-Maven-Runoob:Maven 依赖管理
查看>>
杂项-Log:log4net
查看>>
杂项-Java:EL表达式
查看>>
tarroni music
查看>>
unity 使用RotateAround的使用注意
查看>>
[SDOI2009]HH的项链
查看>>
CodeFirst模式,容易引发数据迁移问题(不建议使用)
查看>>