C# 类的方法

方法定义规范

访问修饰符 返回值类型 方法名{参数1,参数2}
{
        //这里编写方法的主体(功能实现的具体过程)
        return 返回值;//如果没有返回值,则不需要写该语句
}

这里写图片描述


方法定义注意事项

1,访问修饰符:访问修饰符表示方法的可访级别。修饰符可以省略,默认private,可以根据需要定义为public。
2,返回值类型:方法执行后,如果不返回任何数据,使用void表示即可。如果返回数据,则该数据的类型,就是返回值的类型,可以是int,double、string、bool等。
3方法名:一般是’动词’或’动宾短语’,采用Pascal命名法。
4,参数列表:方法参数根据需要添加,也可以省略。参数名要求以’类型’、参数名 、的形式,使用逗号分隔。
5,方法的主体:表示方法执行的具体过程,根据需要编写。
6,方法的返回值:方法返回数据的时候,最后使用return返回,return后面不应该有任何语句。


方法应用

1没有参数的方法。
2带参数的方法。
3没有返回值的方法。

 public int StudentId { get; set; }
        public string StudentName { get; set; }
        public int Age { get; set; }
        public DateTime Brithday { get; set; }
        /// <summary>
        /// 没有参数的方法
        /// </summary>
        /// <returns></returns>
        public string GetStudent()
        {
            string Info = string.Format("学号;{0},姓名:{1},年龄{2}", StudentId, StudentName, Age);
            return Info;
        }
        /// <summary>
        /// 带参的方法
        /// </summary>
        /// <param name="studentId"></param>
        /// <param name="studentName"></param>
        /// <param name="age"></param>
        /// <param name="brithday"></param>
        /// <returns></returns>
        public string GetStudentInfo(int studentId, string studentName, int age, DateTime brithday)
        {
            this.Brithday = brithday;
            string Info = string.Format("学号:{0},姓名:{1},年龄{2}", studentId, studentName,age);
            return Info;

        }
        /// <summary>
        /// 没有返回值的方法
        /// </summary>
        public void ShowStudentInfo()
        {
            string Info = string.Format("学号:{0},姓名:{1},年龄:{2}", StudentId, StudentName, Age);
            Console.WriteLine(Info);
        }






        }

方法的调用

  static void Main(string[] args)
        {
            //调用不带参数方法
            Student objStudent = new Student();
            objStudent.StudentId = 1005;
            objStudent.StudentName = "陈乔斯";
            objStudent.Age = 29;

            string info = objStudent.GetStudent();
            Console.WriteLine(info);

            //调用带参数方法
            Student objStudent1 = new Student();
            string Info = objStudent1.GetStudentInfo(1006, "张世界", 28, Convert.ToDateTime("1999-9-9"));
            Console.WriteLine(Info);

            //调用没有返回值的方法
            Student objStudent2 = new Student();
            objStudent2.StudentId = 1007;
            objStudent2.StudentName = "刘流";
            objStudent2.Age = 27;
            objStudent2.ShowStudentInfo();

        }

这里写图片描述


常见错误

忘记返回值

这里写图片描述


返回值类型和数据定义类型不一致
这里写图片描述


变量在使用中超出作用域范围
这里写图片描述


变量的分类及其作用域总结

在方法内的变量,称为’局部变量’,只能在该方法内部使用。
在方法外部,类内部的变量称为’成员变量’,可以在当前类的内部使用,或外部使用。


方法的重载

问题的引出:
实现一个简单的计算器加减法,需要6个方法,程序调用在选择合适自己的方法时会感觉很棘手。
方法的编写非常麻烦。
因此需要有新的解决方案。
这里写图片描述

这里写图片描述

这时需要方法重载:
减少类的对外接口,便于用户使用
方法的名称必须一样,方法的参数个数或者类型不一样。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 方法与方法重载
{
    class Calculator
    {
        public int Add(int a ,int b)
        {
            return a + b;
        }
        public double Add(double a,double b)
        {
            return a + b;
        }
        public double Add(int a ,double b)
        {
            return Convert.ToDouble(a) + b;
        }

        public int Sub(int a ,int b)
        {
            return a - b;
        }
        public double Sub(int a,double b)
        {
            return Convert.ToDouble(a) - b;
        }
        public double Sub(double a ,double b)
        {
            return a - b;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 方法与方法重载
{
    class Program
    {
        static void Main(string[] args)
        {
            Calculator objCal = new Calculator();
            double result = objCal.Add(10,20.5);
            int result1 = objCal.Add(10, 30);
            double result2 = objCal.Add(10.5, 20.8);
            Console.WriteLine("result={0}\n result1={1} \n result={2}",result,result1,result2);

        }
    }
}

这里写图片描述

这里写图片描述


静态方法

静态成员使用提示
静态成员在程序中运行时被调入内存中,并且在系统未关闭之前不会被GC回收。
类的成员使用非常频繁时候,可以考虑使用static修饰,但不要使用过多。
静态方法也可以重载。
静态成员不能直接调用实例成员。

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值