博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
07抽象类特点
阅读量:6435 次
发布时间:2019-06-23

本文共 1199 字,大约阅读时间需要 3 分钟。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _07抽象类特点{    class Program    {        static void Main(string[] args)        {            //1.抽象类、抽象成员必须标记为abstract,不能有实现,连大括号也不能有。            //2.抽象成员必须在抽象类中。            //3.抽象类不能被实例化,实例化后也没有用。            //4.子类继承抽象类后,必须把父类中的抽象abstract成员都重写override。除非子类也是抽象类。            //5.抽象成员访问修饰符不能是private            //6.抽象类中可以包含实例成员。实例成员可以不被子类实现。            //7.抽象类是有构造函数的,虽然不能被实例化。            //8.如果父类抽象方法有参数,子类override重写时要传入对应参数,有返回值也类似有返回值。            //父类方法有默认实现,父类需要被实例化时,可以考虑将父类定义为普通类,用虚方法实现多态。            //父类没有默认实现,也不需要实例化,则将父类定义为抽象类。            Student s = new Student();            s.Say();            s.Test("andu");        }    }    abstract class Person    {        public abstract void Say();        public abstract void Test(string name);    }    class Student : Person    {        public override void Say()        {            Console.WriteLine("呵呵");        }        public override void Test(string name)        {            Console.WriteLine("你好啊,{0}",name);        }    }    abstract class Teacher : Person    {    }}

 

转载于:https://www.cnblogs.com/andu/p/6133417.html

你可能感兴趣的文章
TI-BASIC 计算器游戏开发之文字、图形、音频教程:前言
查看>>
SpringMVC 学习系列 (2) 之 经典的HelloWorld 实现
查看>>
Java并发编程基础-线程-创建
查看>>
Caused by: java.sql.SQLException: ORA-00911: inval
查看>>
JavaScript 模块应用与编程
查看>>
Tomcat源码解读系列(三)——Tomcat对HTTP请求处理的整体流程
查看>>
ZTREE学习二
查看>>
网络访问的往返时间
查看>>
用Docker部署MariaDB
查看>>
java并发编程(四): 基础构建模块
查看>>
require异步加载vue组件可能导致的问题
查看>>
数据类型
查看>>
【Xcode】类名点击command找不到实现
查看>>
SwiftCommon之Cookie处理
查看>>
去掉a标签 点击之后的边框
查看>>
RabbitMQ消息队列的小伙伴: ProtoBuf(Google Protocol Buffer)
查看>>
SQL语言共分为四大类:
查看>>
nginx:413 Request Entity Too Large 及 修改 PHP上传文件大小配置
查看>>
java BigDecimal对象值比较笔记
查看>>
Linux文件路径、cd命令、mkdir命令、rmdir命令、rm命令
查看>>