一 现实中的实物抽象为类
类(class)最基本的要素是
① 字段(field):变量;
② 方法(method):函数;
class Person
{
public string name;
public int age;
public void SayHello()
{
Console.WriteLine("Hello!My name is"+name);
}
public string GetInfo()
{
return "Name:"+name+",Age:"+age;
}
}
二 构造方法(constructor)
构造方法的主要作用是完成对象的初始化工作:
① 构造方法的方法名与类名相同;
② 构造方法没有返回类型,也不能写void。
public Person(string n,int a)
{
name=n;
age=a;
}
三 默认(default)构造方法
如果用户没有定义任何构造方法,则系统会自动产生一个;
public Person(){}
四 对象的创建
构造方法不能显式地直接调用,而是用new来调用。
Person p=new Person("Liming",20);
Person p=new Person("Liming",20);
Console.WriteLine(p.name);
p.SyaHello();
五 析构方法
class Person
{
......
~Person(){
.....
}
}
由于C# 自动进行对象的释放,所以用户一般不定义析构方法。
六 方法的重载(overloading)
public void SayHello()
{
Console.WriteLine("Hello!My Name is"+name);
}
public void SayHello(Person another)
{
Console.WriteLine("Hello,"+another.name+
"!My name is "+name);
}
方法的签名:方法名及参数个数及类型构成(参数名不算)
七 使用this
this指这个对象本身,常用于:
① 访问这个对象的字段及方法(VS会智能提示);
② 区分字段与局部变量
public Person(int age,string name)
{
this.age=age;
this.name=name;
}
③ 用于构造方法调用另一个构造方法,注意其位置
public Person():this(0,"")
{//构造方法的其他语句;}
八 应用示例:银行系统
系统中有几类对象?Account,Bank,ATM;
每个类中有什么字段、方法?
BankSystemV1.rar: https://url09.ctfile.com/f/22158009-746484029-aa2f87?p=5939 (访问密码: 5939)