抽象类和接口以及他们之间的区别

首先想要了解两者的区,你就要先了解什么是抽象类和接口

一,抽象类:

1,概念:

抽象类通常代表一个抽象概念,它提供一个继承的出发点,当设计一个新的抽象类时,一定是用来继承的。

eg:就像一个动物类,动物类无法被实例化,因为你不知道时那种动物,长什么样子,这就需要你自己去创建一个抽象类,然后再在某种动物的类中重写动物的长相。

2,特点:

  1. 抽象类不能实例化
  2. 抽象方法是必须被子类重写的方法
  3. 如果类当中包含抽象方法,那么这一定师哥抽象类

3,用法:

抽象类需要用abstract来表示:

带入如下:抽象方法没有方法体,直接就在后面添加“;”

abstract class Person{

    private String name;
    public String getName(){
        return this.name;
    }
    public void setName(){
        this.name = name;
    }
    public abstract void getPersonInfo();
}

 

二,接口:

1,概念:

接口是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。

eg:在动物类当中有,机器猫也属于猫类,但是它又不是一般的动物,所以这就需要给它一个特殊的接口,来写机器猫不只能够有猫类,还能变出很多东西的接口。

2,特点:

  1. 接口的名称前要加"I",接口中方法和属性前面是不能有修饰符,方法没有方法体
  2. 注意接口是用interface来声明的
  3. 子类继承父类和接口的时候,只需要在中间添加一个","
  4. 一个类只能有一个父类,但是却可以有很多子类
  5. 接口不能实例化,不能有构造方法和字段,但不能有修饰符,不能声明动态静态
  6. 使用接口的类一定要实现接口中的所有的方法和属性

3,用法:

使用interface,在接口名前加一个I

代码如下:

interface IChange
{
    string ChangeThing(string thing);
}



class MachineCat :Cat,ICange
{
    public string ChangeThing(string thing)
{
    return base.Shout() +"我的万能口袋"+thing;
}
}

 

三,接口和抽象类的区别:

  1. 抽象类是对对象的抽象,接口是对行为的抽象,抽象类是对类整体(字段,属性,方法)的抽象,接口是对局部的行为进行进行抽象。
  2. 行为跨越不同的类的对象,可使用接口,对于一些相似的类可以使用类对象。eg:孙悟空,我们可以把它算作猴子类,但是又可以让他有一个会变东西的接口。
  3. 抽象类是根据子类来抽象出的类,你知道了这是一个动物之间的比赛,那么你要描述动物时,你就会设定一个动物类,但是你不确定是有什么动物之间会进行比赛,所以你就要提前写动物们比赛的内容,进行预先的定义。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值