zoukankan      html  css  js  c++  java
  • 面向对象(抽象类)

    抽象类:
    抽象类,只为继承而出现,不定义具体的内容,只规定该有哪些东西;
    一般抽象类中只放置抽象方法,

    1、关键字 abstract 
    2、抽象类可以包含抽象方法和普通方法
    3、abstract关键字可以把方法变为抽象方法,抽象方法可以没有函数体
    4、抽象类无法被实例化,抽象类主要做为一个基类,让其他类继承。5、abstract关键字和sealed关键字(禁止继承)不能同时出现
    6、如果一个子类继承自抽象类,那么子类中必须实现所有的抽象方法
    7、如果子类中没有实现父类的抽象方法,那么该子类必须是抽象类
    8、如果一个类里面包含抽象方法,那么该类一定是抽象类

    接口:
    极度抽象的类。

    接口与抽象类的区别:
    1、写法区别
    关键字:interface 
    没有class关键字 
    写法 interface 类名{} 类名规则:一本用I开头
    不用写public,因为接口本身就是public,不用写abstract 因为接口里面所有的都是抽象的

    2、接口里面不能包含普通成员
    3、凡是继承接口的类,全部要实现接口里面的方法

    接口的作用:

    可以将程序拆分成多个模块,方便多人开发。

    定义了子类了子类必须包含的功能


    接口内没有函数体,只是规定需要进行哪些操作,但是没有具体的实现方法,有子函数自己定义使用。

    //类库
    有些时候我们需要用到别人写的类

    1、如果该类是源代码类 .cs文件
    起那个文件拿到项目中,可以选择添加新建项或选择现有项
    引用相应的命名空间

    2、如果该类不是源码,而是编译后的 .dll文件(编译后的类库)
    将文件拿到项目中,添加引用--浏览--找到.dll文件
    引入相应的命名空间

    复制代码
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace 抽象类
     8 {
     9     //定义抽象类
    10     public abstract class DongWu
    11     {
    12         public void Run()
    13         { 
    14         }
    15         public abstract void Eat();//抽象方法可以没有函数体
    16        
    17  
    18     }
    19 
    20     public class Ren : DongWu
    21     {
    22         public override void Eat()
    23         {
    24             Console.WriteLine("吃熟食");
    25         }
    26  
    27     }
    28 
    29     //定义接口
    30     interface IUSB
    31     {
    32         //开始读取USB
    33         void Start();
    34 
    35         //关闭USB
    36         void Stop();
    37  
    38     }
    39 
    40     //做一个鼠标的类来实现USB接口
    41     class ShuBiao:IUSB
    42     {
    43         public void Start()
    44         {
    45             Console.WriteLine("鼠标启动了");
    46         }
    47         public void Stop()
    48         {
    49             Console.WriteLine("鼠标停止了");
    50         }
    51     
    52     }
    53 
    54 
    55     class Program
    56     {
    57         static void Main(string[] args)
    58         {
    59             //DongWu dw = new DongWu();--错误,抽象类无法被实例化
    60             Ren  r=new Ren();
    61             r.Eat();
    62             Console.ReadLine();
    63             
    64         }
    65     }
    66 
    67 
    68 
    69 
    70 
    71 }
  • 相关阅读:
    给部署在openshift上的WordPress添加wptouch插件
    让你的代码符合PEP8标准——sublime text 2 安装及使用 Python Flake8 Lint 插件
    Pylot——跨平台的网站压力测试工具
    window.print打印指定div
    window.parent与window.opener的区别 转
    获取Windows Mobile开发工具
    event.srcElement
    GridView的各种用法
    JS 中document详解
    llog
  • 原文地址:https://www.cnblogs.com/zl1121102942/p/5794296.html
Copyright © 2011-2022 走看看