zoukankan      html  css  js  c++  java
  • 封装 继承

    访问修饰符:
    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;      //  转换成的这个父类 也可以转换回去,(转回到相应的子类)

  • 相关阅读:
    mvc页面中,显示自定义时间格式
    时间格式字符串中,大小写字母的解释
    subversion SVN global ignore pattern
    .net项目svn项目管理文件清单
    nopcommerce插件相关
    vs2013执行Add-Migration出现的问题
    jquery为多个元素添加事件
    在JavaScript中创建命名空间的几种写法
    Python 创建XML 的三种方式
    Python 对网页操作的方法, urllib ;requests
  • 原文地址:https://www.cnblogs.com/power8023/p/5853300.html
Copyright © 2011-2022 走看看