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文件
    引入相应的命名空间

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using WenBenBianJi;
    //using WenBenBianJi;

    namespace ConsoleApplication1
    {
    //定义抽象类
    public abstract class DongWu
    {
    public void Run()
    {

    }
    public abstract void Eat();
    }

    //做一个人类来继承抽象类
    public class Ren:DongWu
    {
    public override void Eat()
    {
    Console.WriteLine("吃熟食");
    }
    }

    //定义接口
    interface IUSB
    {
    //开始读取USB
    void Start();

    //关闭USB
    void Stop();
    }

    //做一个鼠标类来实现USB接口
    class ShuBiao:IUSB
    {
    public void Start()
    {
    Console.WriteLine("鼠标启动了");
    }
    public void Stop()
    {
    Console.WriteLine("鼠标停止了");
    }
    }


    class Program
    {
    static void Main(string[] args)
    {

    Ren r = new Ren();
    r.Eat();

    ShuBiao s = new ShuBiao();
    s.Start();
    s.Stop();

    //BianJi bj = new BianJi();
    //WenBenBianJi.BianJi bj = new WenBenBianJi.BianJi();

    Console.ReadLine();
    }
    }
    }

  • 相关阅读:
    Spring中的注解@Service @Component @Controller @Repository区别
    hibhibernate中hql中的语句where语句查询List出现空
    转-sql中的case when的用法
    转-JS子窗口创建父窗口操作父窗口
    JS子父窗口互相取值赋值详解介绍
    转-JS之Window对象
    转-JS中document对象详解
    java设计优化--装饰者模式
    Java继承中属性、方法和对象的关系
    利用Ant脚本生成war包的详细步骤
  • 原文地址:https://www.cnblogs.com/shi2172843/p/5767226.html
Copyright © 2011-2022 走看看