封装继承重写抽象类

Posted 吴_彤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装继承重写抽象类相关的知识,希望对你有一定的参考价值。

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("实现了抽象方法");
        }
 
    }
 
 
 
 
 

以上是关于封装继承重写抽象类的主要内容,如果未能解决你的问题,请参考以下文章

抽象类与接口区别

多态与抽象以及接口

记一次抽象类中定义的静态变量,多个子类继承后,在方法中被重写引起的问题

复习面向对象--继承,重写,重载,抽象详解

构造重写重载接口抽象多态封装继承

Java试题