一、类和对象
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)初始值不同
系统会给成员变量一个初始值
系统不会给局部变量赋予初始值