抽象类接口
Posted 疯丫头0805
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类接口相关的知识,希望对你有一定的参考价值。
一、抽象类:abstract
它就是为了被继承而出现的
普通的类中所有的方法都变成虚方法,没有人用最基础的方法,全部都需要重写,那么就不需要那么费劲把普通类中的方法主体都写完,而是,直接定义成抽象类,并且都写成抽象方法。
只声明方法的名称和返回类型,具体方法主体是什么,继承过去以后自己去实现。
抽象方法一定是在抽象类中
有抽象方法的类,一定是抽象类
抽象类中不一定只有抽象方法
二、接口:interface“干爹”
就是让类更加完善
都是抽象方法,不能有一点实在东西,全部内容都需要在子类中进行实现
program 类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 抽象类_接口 { class Program { static void Main(string[] args) { //Ren r = new Ren();//划红线,抽象类是无法创建出来的,无法实例化 NanRen n = new NanRen(); Console.WriteLine(n.ChiFan()); Console.WriteLine(n.ShuoHua());//在抽象类中也可以下普通方法,抽象类不能实例化,所以要通过子类运用 Console.ReadLine(); } } }
ren 类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 抽象类_接口 { public abstract class Ren//abstract抽象的意思 { //抽象类 public abstract string ChiFan(); public abstract string ShuiJiao(); public string ShuoHua()//在抽象类中也可以下普通方法,抽象类不能实例化,所以要通过子类运用 { return "我能说话!"; } //接口,让类更加完善 } }
nanren 类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 抽象类_接口 { public class NanRen:Ren,gongzuo,yule //要实现接口中的所有内容,要在主体部分全部打出来,要不然程序不能运行 { public override string ChiFan() { return "大口吃饭!"; } public override string ShuiJiao() { return "趴着睡觉!"; } public string youxi() { return "1V5"; } public string paobu() { return "12.88"; } public string jineng() { return "打代码!"; } public string didian() { return "汉企"; } } }
nvren 类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 抽象类_接口 { public class NvRen:Ren { public override string ChiFan() { return "小口吃饭!"; } public override string ShuiJiao() { return "躺着睡觉!"; } } }
gongzuo 类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 抽象类_接口 { public interface gongzuo//interface是接口的定义关键字 { string jineng(); string didian(); //public string shijian()//接口就是用来被继承的,里面不能有public普通方法,程序也不会运行 //{ // return "10年"; //} } }
yule 类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 抽象类_接口 { public interface yule { string youxi(); string paobu(); } }
以上是关于抽象类接口的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin接口和抽象类 ( 接口属性和方法定义 | 接口默认方法实现 | 抽象类 )