从无参方法、含参方法到重载方法

面向对象 专栏收录该内容
5 篇文章 0 订阅

一、无参方法

a、无参方法语法:

访问修饰符> 返回类型 <方法名>(){

//方法的主体

}

b、定义

         什么是无参方法?所谓无参方法即形如,诸如

public void run() {

    Console.WriteLine(“正在以0.1米/秒的速度向前奔跑”);

}

public Sring bark() {

       String sound = “大声吼叫” ;

       return sound;

}

此类方法中没有指定任何形参的方法即为无参方法。

c、使用

什么时候用无参方法?当定义一个方法去做单一固定的某件事时且不需要任何外界的数据参与就可以完成的时候这时候可以用无参方法。无参方法定义之后其功能也就随之确定。无参方法相当于将方法与外界的完全隔离,不管外界如何变化其功能都不在变化。 

例如如果只要求在屏幕上打印出“Hello Word”的时候这时候我就可以定义一个无参方法,

public void OutPrint()
        {
            Console.WriteLine("Hello Word");
        }

再如计算100与50的和

 public int AddTo                                                                                                          {
            return 100 + 50;
        }
前者只需要它完成打印“Hello Word ”, 后者只需要计算100跟50的和,不需要去做其他的事 强调其功能的单一性。
      

二、含参方法

a、带参方法语法:

<访问修饰符> 返回类型 <方法名>(参数列表){

//方法的主体

}

b、定义

         含参方法即形如

public void show(int a, string b){  //int a; String b 是形式参数

             Console.WriteLine (a+b);

             }

诸如此类方法中指定了参数的方法即为含参方法。含参方法与无参方法相对,其功能特性与无参方法有很大的差别。无参方法其功能特性单一不随外界数据变化而变化,而含参方法需要的就是这种外界的变化,它要达到的效果就是其作用效果要在一定程度外界数据的变化而变化。在含参方法中参数是方法的入口,它可以作为方法内与方法外之间的接口,正是因为有了这个接口才能使得定义的某个方法作用效果随外界变化而变化。

c、使用

含参方法强调其功能特性的某一类操作,如在屏幕上打印输出字符,输出内容是不确定的它既可以是“hello word”,也可以是“nihao”,此时它的功能就是输出某些字符串到屏幕上。

public void OutPrint(String talk)
        {
            Console.WriteLine(talk);
        }

再如计算两个数a,b的和,a,b的值是不确定的它既可以是1和1,也可以是2和3等等,而此时它要完成的是对两个数据求和的这一类型的操作。

 public int  AddTo(int a,int b)
        {
            return a+b;
        }

含参方法就是留下了对外的接口,他通过接口使其对某些数据的操作具有了不确定性,因此其在功能上具有了处理某一“类型“操作的能力。

三、方法重载


a、定义

         方法重载既形如

                                                                                                      public class  A                                                                                     {                                                                                                       public void OutPrint(String talk)
        {
            Console.WriteLine(talk);
        }
public void OutPrint()
        {
            Console.WriteLine("hello word");
        }                                                                                                                                                   }            

诸如此类在一个类中创建多个方法,这些具有相同方法名,参数个数不同或参数类型不同的方法即方法的重载。方法重载是让类以统一的方式处理不同类型数据的一种手段。在外界调用者看来使用的就是一个方法,只不过给它传不同的参数、不同类型的参数它就可以实现不同的功能。方法重载是面向对象多态的一种体现。

b、使用

如在机房收费系统中定义对充值卡数据表操作的类的时候,考虑到在充值时要有更新充值卡余额的操作,在退卡时要有更新充值卡使用状态的操作,所以完全可以定义重载方法:

public class  CardDAL                                                                                                                                           {                                                                                                                                                   public void Update(int cardno,int balance)
        {
            //根据卡号更新余额
        }
public void Update(int cardno, String state)
        { 
            //根据卡号更新卡的使用状态
        }                                                                                                                                                 }            

这样在外界看来调用的是一个Update方法但给他传入不同的参数时它却可以实现不同功能。方法重载使得让方法名相同而形参不同的方法同时存在。考虑要执行某一方法要达到同一目的的不同情况,不同要求。例如在木屑时候需要参数,有些时候不需要参数,有些时候需要比较少的参数,有些时候需要比较多的参数,不同的情况可能需要不同的参数。这时可以根据不同的参数集合做到期望的功能就可以使用方法重载,为了对象结构的清晰,不希望为每一个方法的不同情况各写一个方法,而且他们的功能大多比较类似。

四、总结

方法的使用不仅仅是技术还是一种艺术。系统设计时,选择好方法的使用不仅能清晰的向编程人员表达自己的意愿,更能提高代码的可读性、可维护性。
  • 2
    点赞
  • 7
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 7 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

steven-zx

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值