C#抽象

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*
 * C#抽象
 * 概念:
 * 如果一个类不与具体的事物相联系,而只是表达一种抽象的概念,仅仅是作为其派生类的一个基类,这样的类就是抽象类;
 * 语法修饰符:abstract
 * 抽象类:
 * 1.抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;
 * 2.重要的是抽象类可以包括抽象方法,这是普通类所不能的;
 * 3.抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们;
 * 4.抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们;
 * 抽象类与普通类的区别:
 * 1.抽象类不能直接被实例化;
 * 2.抽象类中可以包含抽象成员,但但非抽象类中不可以;
 * 3.抽象类不能被密封或者静态;
 * 抽象方法:
 * 1.抽象方法必须声明在抽象类中;
 * 2.声明抽象方法时,不能使用virtual、static、private、sealed修饰符;
 * 3.在抽象类中抽象方法不提供方法体;
 * 抽象属性:
 * public abstract double 属性名
 * {
 *     get;set;
 * }
 * 抽象类特点:
 * 1.抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法;
 * 2.抽象类不能被实例化;
 * 3.抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类;
 * 4.具体派生类必须覆盖基类的抽象方法;
 * 5.抽象派生类可以覆盖基类的抽象方法,也可以不覆盖,如果不覆盖,则其具体派生类必须覆盖它们;
 * 
*/
namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
    //昆虫类(抽象类)
    internal abstract class InsectAb//抽象类不能被实例化,不能被sealed密封
    {
        public void Start()//抽象类可以有构造函数
        { 
        
        }
        public abstract void Update(int i);//抽象方法后面用分号隔开
        public abstract void Update(string str);//抽象方法可以重载
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值