using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 复习6
{
/*
格式:
class 类名
{
字段(特征);
访问修饰符 类型 变量名(字段名)
方法(行为)
}
*/
//创建一个学生类
class Student
{
public string name;//名字
public int age;//年龄
private char gender;//性别
int _Id;//id
//属性
public int Id
{
set { _Id = value; }//set方法 value指的就是外界给的值 设置外界不可访问的字段_Id的值
get { return _Id; }//get方法 返回外界不可访问的字段_Id的值
}
//自定义构造方法
/*
格式:
public 类名(参数a, 参数b, 参数c)
{
this.a = a;
this.b = b;
this.c = c;
}
其中a、b、c为类的字段
*/
public Student(string name, int age, char gender)
{
this.name = name;
this.age = age;
this.gender = gender;
}
/***********方法**********/
/*
方法分为4类:
1、无参数无返回值
2、无参数有返回值
3、有参数无返回值
4、有参数有返回值
格式:
访问修饰符 返回值类型 方法名(参数列表)
{
代码块;
}
返回值类型:如果没有返回值就用void来代替,如果有就写上对应的类型
如果有返回值,那么在代码块中必须要有"return 返回值;"这个语句
并且这个返回值的类型要和方法中的返回值类型一致
返回值有且只有一个
参数列表:如果没有参数的话,就不写
如果有参数,参数格式:类型 参数名
如果参数为多个的话,用“,”隔开
参数:形参,实参
形参:定义方法时,参数列表里面的所有参数都称之为形参。形参规定了参与运行参数的类型
实参:当对象调用方法时所传递的参数称之为实参
*/
//1、无参数无返回值
//睡觉
public void Sleep()
{
Console.WriteLine("学生睡了,这是一个无参数无返回值的方法");
}
//2、无参数有返回值
//自我介绍
public string Introduce()
{
return "我叫" + this.name + "今年" + this.age + "性别" + this.gender;
}
//3、无参数有返回值
//写作业
public void DoHomework(string kind, int grade)
{
Console.WriteLine("我要做" + grade + "年级" + kind + "作业了");
}
//4、有参数有返回值
//上学
public string GoSchool(int score)
{
if (score > 450)
{
return "去上本科";
}
else
{
return "去上大专";
}
}
}
//创建一个汽车类
class Car
{
#region 字段
//品牌
private string brand;
//价钱
private int price;
#endregion
#region 属性
public int Price
{
set { price = value; }
get { return price; }
}
#endregion
#region 自定义构造
public Car(string brand, int price)
{
this.brand = brand;
this.price = price;
}
#endregion
#region 方法
public void Drive()
{
Console.WriteLine("行驶");
}
#endregion
}
class Program
{
static void Main(string[] args)
{
//用自定义的类型去创建一个对象,格式跟结构体一模一样
Student stu = new Student("小明", 15, 'm');
//给对象stu的字段赋值
stu.name = "小明";
stu.age = 18;
//stu.gender = 'm'; 由于是private字段,不可从外部访问
stu.Id = 123;
/**********对象调用方法********/
/*
对象.方法名();
如果有参数,在括号内对应的参数要保证类型一直,顺序一直
如果方法有返回值的话,需要一个变量来接收或者打印,才能得到返回值的结果
*/
stu.Sleep();//无参数无返回值
Console.WriteLine(stu.Introduce());//无参数有返回值
stu.DoHomework("C sharp", 5);//有参数无返回值
Console.WriteLine(stu.GoSchool(500));//有参数有返回值
}
}
}