类 的典型代码==============================
包括 属性及其判断赋值 方法 构造函数及其重载
namespace 类的属性和方法
{
public class Car
{
private int _speed;
private string _name;
public int Speed // 属性的封装,判断
{
set {
if (value == 20)
{
this._speed = value;
}
else
{
this._speed = 50;
}
}
get{ return this._speed;}
}
public string Name
{
set { this._name=value;}
get{ return this._name;}
}
// 显式定义默认构造函数
public Car(){}
// 重载的带有参数的构造函数
public Car( string name, int speed)
{
this._name=name;
this._speed=speed;
}
public void ShowState()
{
Console.WriteLine( " Car {0} is going {1} MPH ", this._name, this. _speed);
}
}
class Program
{
static void Main( string[] args)
{
Car car1= new Car( " 胡章诚 ", 19);
car1.Speed = 19;
Console.WriteLine( " 车名是{0},时速{1} ", car1.Name, car1.Speed);
car1.ShowState();
Console.ReadKey();
}
}
}
一般类的继承=============================
1、类的继承——子类构造函数
概述:子类默认情况下会调用父类的的无参数构造函数
如果父类写了有参数的构造函数,子类未调用父类的有参数的构造函数,则需要显示的写出父类的无参数构造函
namespace 类的继承_子类构造函数
{
class Program
{
// 3、 定义父亲类Father(姓firstName,财产wealth,血型blood),儿子Son类(玩游戏PlayGame),女儿Daughter类(跳舞Dance),
// 调用父类构造函数给子类字段赋值。
static void Main( string[] args)
{
Son son = new Son( " Green ", 20000, " O ", " Good "); // 实例化一个儿子的对象
Console.WriteLine(son.firstName);
son.PlayGame( " lol "); // 调用儿子的方法
Console.ReadKey();
}
}
class Father
{
public string firstName;
public int wealth;
public string blood;
public Father() { } // 如果子类写了一个造函数,此造函数没有调用父类带参数的构造函数,此时就要显示的写出父类的无参数构造函数
包括 属性及其判断赋值 方法 构造函数及其重载
namespace 类的属性和方法
{
public class Car
{
private int _speed;
private string _name;
public int Speed // 属性的封装,判断
{
set {
if (value == 20)
{
this._speed = value;
}
else
{
this._speed = 50;
}
}
get{ return this._speed;}
}
public string Name
{
set { this._name=value;}
get{ return this._name;}
}
// 显式定义默认构造函数
public Car(){}
// 重载的带有参数的构造函数
public Car( string name, int speed)
{
this._name=name;
this._speed=speed;
}
public void ShowState()
{
Console.WriteLine( " Car {0} is going {1} MPH ", this._name, this. _speed);
}
}
class Program
{
static void Main( string[] args)
{
Car car1= new Car( " 胡章诚 ", 19);
car1.Speed = 19;
Console.WriteLine( " 车名是{0},时速{1} ", car1.Name, car1.Speed);
car1.ShowState();
Console.ReadKey();
}
}
}
一般类的继承=============================
1、类的继承——子类构造函数
概述:子类默认情况下会调用父类的的无参数构造函数
如果父类写了有参数的构造函数,子类未调用父类的有参数的构造函数,则需要显示的写出父类的无参数构造函
namespace 类的继承_子类构造函数
{
class Program
{
// 3、 定义父亲类Father(姓firstName,财产wealth,血型blood),儿子Son类(玩游戏PlayGame),女儿Daughter类(跳舞Dance),
// 调用父类构造函数给子类字段赋值。
static void Main( string[] args)
{
Son son = new Son( " Green ", 20000, " O ", " Good "); // 实例化一个儿子的对象
Console.WriteLine(son.firstName);
son.PlayGame( " lol "); // 调用儿子的方法
Console.ReadKey();
}
}
class Father
{
public string firstName;
public int wealth;
public string blood;
public Father() { } // 如果子类写了一个造函数,此造函数没有调用父类带参数的构造函数,此时就要显示的写出父类的无参数构造函数
public Father( string f, int w, string b) // 定于父类带参数的构造函数
{
this.firstName = f;
this.wealth = w;
this.blood = b;
}
}
class Son : Father
{
public string health; // 自己写的一个字段
public void PlayGame( string Game) // 将儿子玩游戏写成一个方法
{
Console.WriteLine( " 我玩{0},哈哈哈哈哈; ", Game);
}
public Son( string f, int w, string b, string h)
: base(f, w, b) // 利用base调用父类的构造函数
{
this.firstName = f;
this.wealth = w;
this.blood = b;
this.health = h;
}
}
class Daughter : Father
{
public int age; // 自己写的一个字段
public void Dance() // 将女儿跳舞写成一个方法
{
Console.WriteLine( " 我跳拉丁,呵呵 ");
}
public Daughter( string f, int w, string b, int a)
: base(f, w, b) // 利用base调用父类的构造函数
{
this.firstName = f;
this.wealth = w;
this.blood = b;
this.age = a;
}
}
}
。。。。。。。。。。。。。。。。。。。。。。。。。
2、类的继承——用new关键字覆盖产生新方法
namespace 类的继承
{
class Program
{
static void Main( string[] args)
{
OtherClass oc = new OtherClass();
oc.Method1(oc.Field1);
Console.ReadKey();
}
class SomeClass
{
public string Field1 = " base class field1 ";
public void Method1( string value)
{
Console.WriteLine( " Base class -- Method1:{0} ",value);
}
}
class OtherClass:SomeClass
{
new public string Field1 = " OtherClass Field1 "; // 掩盖旧成员
new public void Method1( string value) // 掩盖旧成员
{
Console.WriteLine( " OtherClass.Method:{0} ",value);
Console.WriteLine( base.Field1); // 访问基类成员
}
}
}
}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
3、类的继承——虚方法、抽象方法的重写产生新方法
namespace 虚方法和复写方法
{
class Program
{
static void Main( string[] args)
{
MyDrivedClass drived = new MyDrivedClass();
MyBaseClass mybs = (MyBaseClass)drived;
drived.Print();
mybs.Print();
Console.ReadKey();
}
}
class MyBaseClass
{
virtual public void Print()
{
Console.WriteLine( " this is base class ");
}
}
class MyDrivedClass:MyBaseClass
{
override public void Print()
{
Console.WriteLine( " this is drived class ");
}
}
}