zoukankan      html  css  js  c++  java
  • .net初学之封装、继承、重写、抽象类

    1.封装:是为了隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的权限(定义)。
       封装器:
        
    private double a  //ctrl+r,e  回车,回车 自动生成下面代码
        public double A
    {
            get { return price; }
            set { price = value; }                           两种封装器的差别在属性的名称上,
    }                                                               如果名称首字母为小写,在封装器中则大写
                                                                    如果名称首字母为大写,在封装器中则在首字母前加”_“。
    或
        private double A  //ctrl+r,e  回车,回车  自动生成下面代码
        public double _A
    {
            get {return price;}
            set{price = value;}
    }
     
    2.继承:一个类只能继承一个普通类,但可以继承多个对象(接口、抽象类等)继承父类中所有非私有成员
       单根性、传递性、安全性。
    public class a
    {
    }
     
    public class b:a,c                          //a为被继承的普通类,c为其他对象,如果有多个再用逗号分隔。
     
    base:
    继承父类的构造函数,一个子类中的构造函数只能出现一次base,需定义合适的构造函数才能
    调用或在多个子类中的构造函数中调用。
    public class fu{   
        publice cz(int _a,string _b)
      {
        this.a=_a;
        this.b=_b;
      }
    }
     
    public class zi : fu{
        public cz(double _c)
           :base(_a,_b)
      {
        this.c=_c
      }
    }
     
     
    3.重写:发生在继承关系之上,重写是重写父类中的虚方法或已被重写过的方法。
      关键字: override                           |       关键字:overload
                                                             |
    用法:                                               |       重载,同一类中的方法名相同参数列表不同的的方法称为重载。
    public class fu{                                 |
        publice virtual string a() //虚方法 |     
      {
      }
    }
     
    public class zi{
        public override string a()
      {
            //重写fu类中的a方法
      }
    }
     
    4.抽象类
     
    abstract class a()
    {
        //不能被实例化
        //只能让普通类实现方法
    }
     
    定义抽象方法:
       public        abstract            void         meth();
    访问修饰符  定义抽象方法   返回值类型   方法名       注意没有大括号,即没有方法体(不用实现方法)。
     
    抽象类可以被继承,如果被普通类继承则需要实现其未实现的方法,被抽象类继承不一定要实现未实现的方法。
     
    抽象方法只能写在抽象类中,普通方法可以写在普通类和抽象类中。
     
       
     public abstract class couxianglei  //定义抽象类
        {
            public abstract void fangfa();   //定义抽象方法
        }
     
        public class jutilei : couxianglei
        {
            public override void fangfa()   //继承抽象方法
            {
                Console.WriteLine("实现了抽象方法");
            }
     
        }
     
     
     
     
     
  • 相关阅读:
    测试工具Fiddler(一)—— 基础知识
    测试必备之Java知识(四)—— 线程相关
    【猫狗数据集】保存训练模型并加载进行继续训练
    【colab pytorch】保存模型
    【python-leetcode90-子集】子集Ⅱ
    【猫狗数据集】定义模型并进行训练模型
    【colab pytorch】数据处理
    hadoop之java.io.IOException: Got error, status message , ack with firstBadLink as 192.168.*.* 50010
    hadoop完全分布式之集群时间同步
    hadoop之完全分布式集群配置(centos7)
  • 原文地址:https://www.cnblogs.com/wu-tong/p/5908867.html
Copyright © 2011-2022 走看看