码迷,mamicode.com
首页 > 其他好文 > 详细

封装 继承

时间:2016-09-08 16:07:42      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

访问修饰符:
pubulc:公共的,只要引用了命名空间,就可以随意进行访问
private:私有的,只有当前类内部才可以访问

internal:内部的,当前程序集内可以访问,程序集就是命名空间,此修饰符是默认的
protected:被保护的,当前类和它的子类才可以访问


命名空间:
也叫程序集,项目中每一个文件夹都是一个独立的命名空间
如果要使用某一个命名空间下的类文件,那么必须首先引用此命名空间

-------------------------------------------------------------------
封装;
打包,封起来,保护起来

private int _Ids; - 私有的成员变量

public int Ids - 属性,封装基本结构
{
get{ return _Ids; }
set{ _Ids = value; }
}

一个成员变量可以有很多个属性

属性返回类型可以是任意类型,不是必须要与成员变量类型相同

属性可以是只读的,也可以是只写的,也可以两者都有

------------------

namespace ConsoleApplication46
{
public class Student
{
private string _Code;
private string _Name;
private decimal _Score;
private DateTime _Birthday;
private string _Sex;

public string Sex
{
get { return _Sex;}
set
{
if (value == "男" || value == "女")
{
_Sex = value;
}
else
{
_Sex = "您的输入有误";
}
}
}


public DateTime Birthday
{
get { return _Birthday; }
set { _Birthday = value; }
}

public string BirthdayStr
{
get { return _Birthday.ToString("yyy年MM月dd日"); }

}

 

 

public decimal Score
{
get { return _Score; }
set{
if (value >= 0 && value <= 100)
{
_Score = value;
}
else
{
_Score=0;
}

}

}


}
}

 

 

namespace ConsoleApplication46
{
class Program
{
static void Main(string[] args)
{
Student s = new Student();
s.Score = 90.5m;
s.Birthday = DateTime.Now;

s.Sex = "男";
Console.WriteLine(s.Sex);

Console.WriteLine(s.BirthdayStr);
Console.ReadKey();

--------------------------------------------------------------------------------------------------------------------------

继承:
子类可以继承父类所有的public方法和属性

父类不可以调用子类的方法和属性,哪怕是public的


子类可以转换成父类,转换成的这个父类也可以转换回相应子类

子类转换成父类,这个父类不可以转换成其它的子类

父类

子类 - 某个类的子类,派生类,超类

Plane这个类是Fly的派生类,
Plane这个类派生自Fly

------------------------------------------------------------

namespace 继承
{
class Program
{
static void Main(string[] args)
{
Fly f = new Fly();
string s = f.Fly1();
Console.WriteLine(s);

Bird b = new Bird();
string bb = b.Fly1();
Console.WriteLine(bb);


Plane p = new Plane();
string pp = p.Fly1();

Console.WriteLine(pp);

Console.ReadLine();

 

namespace 继承
{
public class Fly
{
public string Fly1()
{
return "我可以飞行";
}
}
}

 

namespace 继承
{
public class Bird:Fly
{

}

 

namespace 继承
{
public class Plane:Fly
{

}
}

 

强转

Bird b =new Bird();

Fly f =(Fly)b;        //b这个类 强制转换成父类 fly ,转换后 不能用bird类的 属性

Bird bb =(Bird)f;      //  转换成的这个父类 也可以转换回去,(转回到相应的子类)

 

封装 继承

标签:

原文地址:http://www.cnblogs.com/power8023/p/5853300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!