unity3D c# OOP学习笔记之四(抽象)

抽象类
1语法:用abstract修饰的类即为抽象类.
2特点:抽象类不能创建对象【不能实例化】 可以被继承!
抽象类中可能包含抽象成员(方法,属性)
【可以为空,可以没有抽象成员,可以有抽象成员】
虽然不能实例化自己
在这里插入图片描述
但是可以
在这里插入图片描述
作为数组存东西

什么时候需要使用抽象类
1》 希望做基类,对多个类进行统一管理【类将再分类】
2》 【使用抽象类的根本原因:
需求 分析时找角色找共性时
找的共性中 有字段;有方法,
方法中有些方法/有些行为,不同子类可能具体实现不同,
父类中的这个行为就
没必要实现!!
没必要实现!!
没必要实现!!
这个行为需要写成抽象的,从而这个类也要变成抽象类

啰嗦的
抽象类表示一个抽象概念(数据和行为整体).
表达概念中拥有的共性行为数据.
用于做基类,统一所有子类,管理子类.
什么时候适合用抽象类

  1. 当你需要表示一个抽象概念时。
  2. 当你不希望类创建对象的时候【类 {子类}>对象】
  3. 当你有行为,但是不需要实现的时候
    如果父类中提取共性的行为,不同子类可能具体实现不同,
    父类中的这个行为就没必要实现!!
  4. 当你有多个概念,需要一致的管理时
  5. 当你有一些行为,在做法上有多种可能时,
    但又不希望客户了解具体做法。

抽象方法
1 定义:只有声明【定义】,没有实现的方法 就是抽象方法
有 【头】(签名) 无 【体】
2特点:实现类必须实现所有的抽象方法 B:A
抽象方法必须放在抽象类中或者接口中
3作用,用途,什么时候使用抽象方法:
表示的是抽象的行为,是行为的抽象【?】
【需求 分析时找角色找共性时
找到的方法/行为,不同子类可能具体实现不同,
这个行为需要写成抽象的】
4 放在抽象类中的抽象方法 必须 加abstract 不能私有
实现类实现抽象方法的方法 必须加 override 不能私有
不能标记成虚方法

子类也是抽象,不实现可以吗?可以!
父抽象 抽象方法,子类 实现为虚方法 不可以
注意:抽象方法的重写 =抽象方法的实现
【了解】
语法:
用abstract修饰并且没有实现的方法.只有方法声明,没有实现
抽象方法只能出现在抽象类中
抽象方法在本类中不实现,实现推迟到子类中,
子类必须重写实现或者为抽象继续给子类
语义:
抽象方法一个行为的抽象
抽象方法表达抽象行为,只关注本身,不关注行为实现

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值