using System;
//类的设计
class Person
{
//引用数据类型的初始值为null
//特征(通过字段来表现)
public string name;
public int age;
public char gender;
//行为(通过方法来表现)
public void Eat()
{
Console.WriteLine(name);
}
}
class Program
{
static void Main(string[] args)
{
//实例化一个person的对象
Person laowang = new Person();
//
Console.WriteLine(laowang);//Person
//访问类中的成员
//通过.来访问
laowang.name = "老王";
laowang.gender = 'M';
Console.WriteLine(laowang.name);
laowang.Eat();
//类中的字段是有默认值的
}
}
构造方法
//构造方法没有返回值 方法名必须是类名 不能显示调用在实例化对象时自动调用
using System;
class Person
{
//无参构造方法
public String name;
public int age;
public Person()//如果一个类中没有写构造方法。那么系统会默认提供一个
{
Console.WriteLine("无参构造方法被调用了");
this.age = 10;
}
}
class Program
{
public static void Main(string[] args)
{
Person xiaoming = new Person();//调用了
Console.WriteLine(xiaoming.age);
}
}
//构造方法没有返回值 方法名必须是类名 不能显示调用在实例化对象时自动调用
using System;
class Person
{
//无参构造方法
public String name;
public int age;
public Person()//如果一个类中没有写构造方法。那么系统会默认提供一个
{
Console.WriteLine("无参构造方法被调用了");
this.age = 10;
}
public Person(int a)//如果一个类中没有写构造方法。那么系统会默认提供一个
{
Console.WriteLine("有参构造方法被调用了");
}
public Person(int a,float b)
{
Console.WriteLine("Person(int, float)被调用");
}
}
class Program
{
public static void Main(string[] args)
{
Person xiaoming = new Person();//调用了
Person xiaoming1= new Person(1);
Person xiaoming2 = new Person(1 2);
Console.WriteLine(xiaoming.age);
}
}
using System;
class Person
{
public string name;
public int age;
public char gender;
public float score;
public void SetValues(string name,int age,char gender,float score)
{
this.name = name;
this.age = age;
this.gender = gender;
this.score = score;
//Console.WriteLine(name);
}
}
class Program
{
public static void Main(string[] args)
{
Person xiaoming = new Person();
xiaoming.SetValues("xiaoming", 10, 'M', 90);
}
}
using System;
class Person
{
public string name;
public int age;
public char gender;
public float score;
public Person(string name, int age, char gender)
{
this.name = name;
this.age = age;
this.gender = gender;
}
public Person(string name,int age,char gender,float score)
:this(name,age,gender)
{
}
}
class Program
{
public static void Main(string[] args)
{
//实例化一个对象xiaoming:name,age,gender字段的值
Person xiaoming = new Person("xiaoming", 19, '男');
Person laowang = new Person("laowang", 12, 'n');
}
}
静态构造方法
using System;
class Person
{
//静态构造方法
//不可以用public
//不能有参数
static Person()
{
//第一次使用被使用,只会执行一次
Console.WriteLine("静态构造方法被调用了");
}
public Person()
{
Console.WriteLine("非静态被执行了");
}
public static void Show()
{
}
}
class Program
{
public static void Main(string[] args)
{
Person.Show();
Person xiaoming = null;
// Person xiaming = new Person();
}
}