1、类:
定义:具有相同属性和方法的一组对象的集合
(1)类的格式:[修饰符] class 类名{ 属性;方法; }
2、对象
(1)定义:万物皆对象
(2)对象的创建:类名 对象名(变量)=new 类名();
LiJiangTao ljt = new LiJiangTao();
[修饰符] 返回类型 方法名([参数列表]) { 方法体; } void Smile() { } 返回类型:数据类型(基本、引用)、void(无返回值) void Add() { int a = 1, b = 1, c; c = a + b; print(c);
调用属性和方法用 点 运算符
```csharp LiJiangTao ljt = new LiJiangTao(); print(ljt.sex);//调用属性 ljt.Smile();//调用方法
(1)、方法的操作:
调用无返回值的方法:对象名.方法名();
调用有返回值的方法:变量=对象名.方法名();
// 设定义一个三角形类,定义两个方法,求三角形的周长和面积 int a = 3, b = 4, c = 5;//三边 //周长方法无返回值 void ZhouChang() { int d=a+b+c; print("三角形的周长是:"+d); } //面积方法有返回值 int MianJi() { int e = a * b / 2; return e; } void Start () { SanJiaoXing sjx = new SanJiaoXing();//创建新对象 sjx.ZhouChang(); int a = sjx.MianJi(); print("三角形的面积是:"+a); }
(2)带参数的方法
class ZhaZhiJi { //榨汁方法 //给甲方喝的 string JiaFangZhaZhi(string shuiGuo) { string s = "来一杯"+shuiGuo+"汁"; return s; } //static void Main(string[] args) //{ // ZhaZhiJi zzj = new ZhaZhiJi(); // //zzj.ZhaZhi("苹果");//实际参数:实参 // string st = zzj.JiaFangZhaZhi("榴莲"); // Console.WriteLine(st); // Console.ReadKey(); //} //自己喝的 void ZhaZhi(string shuiGuo)//形式参数:形参 { Console.WriteLine("来一杯"+shuiGuo+"汁"); } }
(3)
静态方法和实例方法两者的区别:
1、静态方法只能访问静态变量;实例方法既可以访问实例变量,也可以访问静态变量
2、静态方法在Main方法中可以直接使用;实例方法在Main方法中必须通过对象调用
class Test13 { int value=10;//成员变量、实例变量 static int a = 2;//静态变量、类变量 void Print3()//成员方法、实例方法 { Console.WriteLine(value); Console.WriteLine(a); } static void Print()//静态方法、类方法 { //Console.WriteLine(value); Console.WriteLine(a); } //static void Main(string[] args) //{ // Test13 t1 = new Test13(); // Print(); // t1.Print3(); // //int a = 10; // //Print(a); // //Console.WriteLine(a); // //Print2(t1); // //Console.WriteLine(t1.value); // //t1.Get(); // //t1.Get(); // //t1.Get(); // //t1.value = 10; // //Test13 t2 = t1;//对象的引用 // //t2.value++; // //Console.WriteLine(t1.value + "\t" + t2.value); //}
string name ;//成员变量,系统默认提供一个值
void Print()
{
int age=20;//局部变量
Console.WriteLine(age);
Console.WriteLine(name);
}
(1)作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
(2)初始值不同
系统会给成员变量一个初始值
系统不会给局部变量赋予初始值