日期:2014-05-17 浏览次数:21156 次
一、封装
1、定义
每个对象都包含它进行操作所需要的所有信息,这个特性称为封装。因此对象不必以来其他对象来完成自己的操作。这样方法和类包装在类中,通过类的实例来实现。
2、好处
3、实例
class Cat
{
private string name="";
public Cat(string name)
{
this name=name;
}
public string Shout()
{
return "我的名字叫"+name+"小猫";
}
}
二、继承
1、定义
继承就是从父类中获取一些公开的成员,如方法和属性。C#中只允许继承一个父类,但允许继承多个接口。如果子类继承接口,则必须实现接口中定义的所有公开成员。
公开成员是指在父类中定义为public的成员(public的作用域可在子类中生效,而private作用域则不可)
子类继承父类:
2、优点
继承使得所有子类公共部分都放在父类中,使得代码得到共享,这就避免了重复。此外,继承可使得修改或扩展继承而来的实现都较为容易。
3、实例
例1: //父类 ParentClass classParentClass { privatestring_name; //属性 public stringParentName //父类名 { get{return _name;} set{_name=value;} } } //子类 //父类SonClass class SonClass:ParentClass { privatestring_name; //属性 public stringSonName //子类名 { get{return _name;} set{_name=value;} } } //客户端 SonClass myson=new SonClass(); //创建子类对象 myson.ParentName="父名"; //自动继承父类的属性 myson.SonName="子名"; //子类自己的属性 例2: private void button1_Click(object sender,EventArgs e) { Cat cat = new Cat("咪咪");//将类实例化 Cat cat声明一个Cat对象,对象名为cat;newCat()将此cat对象实例化 cat.ShoutNum = 5; //给属性赋值 MessageBox.Show(cat.Shout()); } class Animal //定义父类 { protected string name =""; //注意变为Protected 子类可以继承 public Animal(string name) { this.name = name; } public Animal() { this.name = "无名"; } protected int shoutNum = 3; //变为protected public int ShoutNum { get { return shoutNum; } set { shoutNum = value; } } } class Cat : Animal //注意变化 { public Cat() : base() //子类构造方法需要调用父类同样参数类型的构造方法,用base关键字代表父类 { } public Cat(string name):base(name) //注意变化 { } public string Shout() { string result = "