10088人加入学习
(18人评价)
C#编程-第二季-面向对象-宇宙最简单2021最新版

制作完成于2021-10月20日 使用VS2019

价格 免费

抽象类

C#允许把类和函数声明为 abstract抽象类          抽象类不能实例化,抽象类可以包含普通函数和抽象函数,(什么是抽象函数)抽象函数就是只有函数定义没有函数体。抽象函数本身也是虚拟的Virtual( 只有函数定义,没有函数体实现)

 

类是一个模板,抽象类就是一个不完整的模板,不能使用部位完整的模板去构造对象

 

( 为什么把某个类定义成抽象类呢 )                    因为我们知道这个类是不能构造对象的,我们把这个类我们把这个类声明称抽象类,其他人使用抽象类创建对象的时候语法就会不通过  为了防止别人误操作,所以我们就把他声明成抽象的

[展开全文]

不完整的模板 称为抽象类

 

[展开全文]

using System;

using System.Collections.Generic;

using System.Text;

 

namespace _09_抽象类

{

    public abstract class Enemy

    {

        private int hp;

        private int speed;

 

        public void Move()

        {

            Console.WriteLine("Move");

        }

        public abstract void Attack();

 

    }

}

[展开全文]

抽象类://abstract
抽象类只有函数定义没有函数体,抽象类是一个不完整的类。

abstract class 类名
{
   pritave int Z;  //这是一个正常的字段成员
   public void 类名()
   {
       Console.WriteLine("这是一个正常函数");
   }
   public abstract void 类名();
}

抽象类内可以包含正常的字段成员及函数成员,但抽象函数必须在抽象类里,抽象类为父类,用于子类必须有用此类包含的抽象方法,供子类编辑。

语法规定,只能声明抽象类,但不能使用抽象类直接构造对象。因为不能使用一个不完整的类构造对象。但我们可以使用它的子类构造对象。

实现抽象类:
光标移动到报错上等待错误提示可以快捷操作"实现抽象类"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
密封类和密封方法:  //sealed
密封类:
sealed class 类名
{
   此时类为密封类,不可被其它类继承。
}
 

密封方法:
class 派生类
{
   public sealed override 函数名
   {
     此时函数不可以被重写,但仍可被继承
   }
}

 

作用:防止重写某些类导致代码混乱。

作用:商业原因。 

[展开全文]

抽象类 acstract

密封类 sealed

 

[展开全文]

抽象函数只有函数定义没有函数体,不能实例化

可以包含普通的函数等

抽象函数本身是virtual

 

sealed:密封类不能被继承,密封函数不能被重写

 

[展开全文]

抽象类

如果父类的函数在各个子类中都不要设置不同的函数体,在父类中定义就没必要了,就可以设置只有函数名,没有函数体,声明成抽象函数

1.抽象类的设置(非抽象类里面不能含有抽象函数)

abstract class Enemy

2.抽象函数 的设置

public abstract void Attack();

3.抽象类是不能构造对象的,例如

Enemy ey=new Enemy();

只能声明Enemy ey;但new Enemy() 使用抽象类的模板是错误的

处理办法:在当前行的左边点击实现抽象类

将函数体修改 

抽象函数和虚方法的区别:

抽象函数是让父类只需要声明函数,而子类负责设置

在抽象类里abstract  class Enemy{

public abstract void Attack()

{。。。} }

在子类里面 class Boss : Enemy
    {
        public override void Attack()}

虚方法是在子类里重写函数

public virtual void Move()

在boss类中

(输入override会有提示)

public override void Move()

{

base.Move();//和父类相同

}

密封类  sealed

作用:1.防止重写某些类,导致代码混乱

            2.商业原因

类不能继承,方法不能重写 

在父类用virtual虚方法

普通类+virtual方法

在子类重写方法

继承类+override方法+sealed(该方法不可以再次被重写)

 

 

 

 

[展开全文]

抽象类使用 abstract 关键字进行修饰。 与java相同。

 

抽象类不能被实例化。可以包含普通函数和抽象函数。

 

类继承抽象类 必须实现抽象类中所有的抽象方法。

 

密封类和密封方法 使用sealed关键字进行修饰。 

密封类不能被继承。 密封方法不能被重写。

 

如果方法要定义为密封方法时, 必须是重写之后的方法。

[展开全文]

普通类里是不能包括抽象方法的

抽象方法只能包含在抽象类里,抽象类可以没有抽象方法。

.密封类   se

 

[展开全文]

1.抽象方法只能包含在抽象类中

abstract class Enemy

{

    public abstract void Attack();

}

2.抽象类不能构造对象,可以声明

 

密封类和方法:sealed

不能继承该类;方法不能重写;

作用:

1.防止重写某些类导致代码混乱

2.商业原因

[展开全文]

授课教师

SiKi学院老师

课程特色

下载资料(1)
视频(60)