zoukankan      html  css  js  c++  java
  • 6、面向对象以及winform的简单运用(抽象基类与接口)

    抽象类与抽象方法

    1、书写规范:

    在类前面加上abstract关键字,就成为了抽象类;在一个方法前面加上abstract关键字,就成为了抽象方法(抽象方法不能有实现方法,直接在后面加分号)

    例:

    abstract class Chouxiang  //抽象类
    {
        public abstract void fangfa();   //抽象方法
    }

    2、抽象类的注意事项:

    1)当一个类变为抽象类之后就不能作为对象来使用了,无法new出来

    2)抽象方法必须放在抽象类里面(但抽象类中不一定有抽象方法)

    3)没有子类的话可以正常运行

    4)抽象类里面的方法只能在该类中调用,若在其他类中调用需要通过子类

    3、抽象方法的注意事项:

    1)抽象方法里面不能写内容(不能创建对象)

    2)子类中必须override才能运行

    3)有几种抽象方法,就必须在子类中写几种,否则出错

    4、在子类中重写抽象基类的方法:

    class Lei:Chouxiang
    {
      public override void fangfa()
      {
        Console.WriteLine("抽象类");
      }
    }

    5、在函数中引用抽象类的子类对象:
    抽象类  抽象类变量名 = new 继承自此抽象类的具体子类名();

    例:

    Chouxiang c = new Lei();
    c.fangfa();  //打印出来结果为“抽象类”

    注:包含抽象方法的类一定是抽象类,但抽象类中的方法不一定是抽象方法。

    接口

    当一个类与多个类之间都存在关系时,单纯用父子关系无法表达出来,为了解决这个问题,引入了接口这个概念,使一个类可以对应多个接口。

    接口可以看做一种“纯”的抽象类,它的所有方法都是抽象方法。

    1、接口的定义与使用:

    用关键字interface定义接口。例:

    public iterface Iswim
    {
      void Swim();  
      //接口中不能写字段、方法,Swim()相当于抽象方法,需要在继承该接口的类中重写
    }
    public iterface Ifood
    {
      void Cook();
    }

    实现接口可以用与继承相同的语法。例:

     1 //定义一个抽象类,使Duck继承自一个抽象类,实现两个接口
     2 public abstract class Bird
     3 {
     4   public abstract void Fly();
     5 }
     6 public class Duck:Bird,Iswim,Ifood
     7 {
     8   //实现Iswim接口
     9   public void Swim()
    10   {
    11     Console.WriteLine("swim");
    12   }
    13   //实现Ifood接口
    14   public void Cook()
    15   {
    16     Console.WriteLine("cook");
    17   }
    18   //实现抽象类Bird中的抽象方法
    19   public override void Fly()
    20   {
    21     Console.WriteLine("fly");
    22   }
    23 }

    使用接口需要套用公式:接口类型名  变量名 = new 实现了接口的类型名();如:

    Duck d = new Duck();
    d.Fly();
    d.Cook();
    d.Swim();
  • 相关阅读:
    林大妈的JavaScript进阶知识(二):JS异步行为
    前端技术基础(一):浏览器相关
    林大妈的JavaScript进阶知识(一):对象与内存
    林大妈的JavaScript进阶知识(四):HTML5 History API
    林大妈的CSS知识清单(二)可见格式化模型(内含margin塌陷与浮动闭合的解决方案)
    林大妈的CSS知识清单(一)添加样式
    林大妈的JavaScript基础知识(三):JavaScript编程(4)数组
    林大妈的JavaScript基础知识(三):JavaScript编程(3)原型
    林大妈的JavaScript基础知识(三):JavaScript编程(2)函数
    基于vue-cli快速构建
  • 原文地址:https://www.cnblogs.com/wleaves/p/4297536.html
Copyright © 2011-2022 走看看