• 面向对象(封装、继承)


    1.类的访问修饰符有public、private、internal、protected。

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

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

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

    3.面向对象特性1

    封装:打包,封起来,保护起来

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

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

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

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

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

     在属性中可以添加限制条件,例:

    输入一个分数(>=0&&=<100),不在范围输出0

    //在新建的类中
     private decimal _score;
    public decimal score {
    get { return _score; } set{ if (value >= 0 && value <= 100) { _score = value; } else { _score = 0; } } } // Console.Write("请输入分数"); s.score =decimal.Parse( Console.ReadLine()); Console.WriteLine(s.score); Console.ReadLine();

     4.面向对象特性2

    继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

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

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


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

    phone pp = (phone)p;//phone是父类,xiaomi、huawei是子类
    xiaomi ps = (xiaomi)pp;

    子类转换成父类,这个父类不可以转换成其它的子类,比如huawei pa = (huawei)pp;

    父类

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

    xiaomi这个类是phone的派生类,
    xiaomi这个类派生自phone

     继承代码:

    class phone
        {
            public string game()
            {
                return "我专为游戏而生!";
            }
        }

    class xiaomi:phone
    {
    public string Name()
    {
    return "我专为发烧而生!";
    }
    }

    class Program
        {
            static void Main(string[] args)
            {
                xiaomi p = new xiaomi();
                string ps = p.game();
     Console.WriteLine(ps); Console.ReadLine();
    phone pp = (phone)p;//子类转换成父类
    xiaomi pa = (xiaomi)pp;
    Console.WriteLine(pa.Name());
    } }
  • 相关阅读:
    正则判断手机号是不是11位
    jQuery, js 验证两次输了密码的一相同
    数据库读取图片
    使用 jQuery 修改 css 中带有 !important 的样式属性
    PHP去掉最后一个字符
    按钮
    js 实现两种99乘法表
    PHP 各种循环
    thinkphp的空控制器和空操作以及对应解决方法
    ThinkPHP框架知识
  • 原文地址:https://www.cnblogs.com/zblc2016/p/5852248.html
Copyright © 2020-2023  润新知