3月4日 方法
方法
[访问修饰符] [static] 返回值类型 方法名 (参数1类型 参数1名,参数2类型 参数2名, ....){
}
public static int GetAge(string name){
return 123;
}
简单调用
访问修饰符的影响
//只允许本类调用
private static void Test1() {
}
//可以被其他位置访问
public static void Test2()
{
}
static 的影响: 加了static的方法,会在项目启动时被直接创建,它是唯一的。可以通过Person.GetAge直接调用到。
而没有加static的方法,需要创建实例,方法会在实例中,可以通过实例进行调用。
using System;
namespace Test3
{
class Person
{
public static void GetAge() {
Console.WriteLine( 10);
}
public void GetAge2() {
Console.WriteLine( 10);
}
}
}
class Program
{
public static void Main() {
Person.GetAge();
Person p = new Person(); //创建一个Person的实例
p.GetAge2();
Console.ReadKey();
}
}
带参数的方法
与js相比,C#由于是强类型语言,定义形式参数的时候,需要明确每个参数的数据类型。
class Person
{
public static void Add(int a,int b) {
Console.WriteLine("{0}+{1}={2}", a, b, a + b);
}
}
class Program
{
public static void Main() {
Person.Add(3, 5);
Console.ReadKey();
}
}
方法的重载
class Program
{
public static void Main() {
Person.Add(1, 5);
Person.Add(123d, 5);
Person.Add(1, 2, 3);
Console.ReadKey();
}
}
class Person
{
public static void Add(int a, int b)
{
Console.WriteLine("{0}+{1}={2},int", a, b, a + b);
}
public static void Add(double a, int b)
{
Console.WriteLine("{0}+{1}={2},double", a, b, a + b);
}
public static void Add(int a,int b,int c)
{
Console.WriteLine("{0}+{1}+{2}={3},three", a, b,c, a + b+c);
}
}
1+5=6,int
123+5=128,double
1+2+3=6,three
c#当中,方法名可以相同,只要参数列表不同就可以了,不一样包括数据类型不一样、个数不一样。 调用时,会匹配最稳和的方法。这个功能,在C#中叫做重载。
js中没有重载,所以如果我们想要让用户调用函数时,传递参数更加灵活,需要做很多工作:
function ajax(url,data,fun){
var _data,_fun;
if(typeof(data)=='function'){
_data=undefined
_fun=data
}else{
_data=data
if(typeof(fun)=='function'){
_fun=fun;
}
}
//url ,_data,_fun才是真正可用的参数数据
}
ajax('xxx',{a:1},function(res){})
ajax('xxx',function(){res})
带返回值的方法
通过return去返回值,调用该函数,就可以得到函数返回的结果。
可以将结果存在变量上。
public static int Add(int a,int b) {
return a + b;
}
类的构造方法
类的构造方法,可以在我们创建类的实例时,方便进行数据的初始化。
类的构造方法,有如下几个要求: 1. 不能是static 2. 没有返回值,也不需要写返回值类型 3 名称必须和类名一样
当我们没有写类的构造函数时,编译器自动帮我们在类中创建一个空的构造函数
等同于:
public 类名(){
}
一个类如果我们自己写了构造方法,编译器就不会再帮我们自动创建了
构造函数只能在实例化的时候去进行调用
new 类名();
练习
练习1: 创建一个Cat类, 1. 包含毛色、性别、名字、饱食度三个字段 2. 有玩耍方法,玩耍时,可以选择传入一个玩耍的玩具,显示xxx在玩yyy,也可以不传,显示xxx在玩耍。玩耍消耗10点饥饿度,饥饿度小于20无法玩耍。 3. 吃东西,必须传入吃什么,每次吃东西补充50点饥饿度。 4. 显示猫咪信息的方法,将猫咪所有信息显示到控制台。
操作方式: 进入后,输入毛色、性别和名字,创建一只猫,默认饱食度50(上限100),然后显示主页面;
1. 喂食
2. 玩耍
3. 信息
可以通过按键进入不同的功能,功能完成后,再回到主界面。