抽象类,摘要方法

抽象类,摘要方法

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

<1>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{
    //抽象类不能是密封的或静态的。  抽象类的成员仅仅能被子类的对象来调用。

注:抽象成员须要子类override重写后使用。非抽象成员由子类直接调用 //不能初始化的类被叫做抽象类。抽象类仅仅能被继承。不能被实例化。抽象类中能够包括非抽象方法,属性。字段等成员。

abstract class A //A是一个抽象类 { public abstract string Name { get; set; } //抽象类能够包括抽象属性 public int Age { get; set; } //抽象类能够包括非抽象的属性 public abstract void Method(); //抽象类能够包括抽象方法。抽象方法仅仅需声明。无需实现。 public void Sum(int a, int b) //抽象类能够包括非抽象的方法。 { Console.WriteLine(a + b); Console.WriteLine("我的名字叫{0},今年{1}岁", Name, Age); } public A() //抽象类还能够有构造函数。

由于抽象类不能实例化,所以它就无法调用这个构造函数。这个构造函数仅仅有在它所在的类的“派生类初始化”的时候才干够被运行到。

{ this.Age = 5; this.Name = "张三"; } } class B : A { public override void Method() //重写“抽象父类”的抽象方法。注意:实现的时候须要加overridekeyword { Console.WriteLine("实现父类的抽象方法"); } public override string Name //重写“抽象父类”的抽象属性 { get; set; } public B() { } } class C : B { } /* class C { //含有抽象方法的类一定是抽象类,而这里的C类并非抽象类。

所以以下定义的抽象方法报错 public abstract string Myabstarct(); //错误 “Test.C.Myabstarct()”是抽象的,但它包括在非抽象类“Test.C”中 } */ class InheritanceTest1 { static void Main(string[] args) { //A a = new A(); //错误 ,抽象类不能被实例化。 A a = new B(); //正确,实例化一个B类型的对象赋值给父类A的一个变量a a.Method(); //输出“实现父类的抽象方法”即:这里调用是子类的Method方法。 B b = new B(); b.Name = "燕子李三"; b.Sum(5, 6); //抽象类的非抽象方法仅仅能被子类的对象来调用。

由于B类重写了A类的抽象Name属性。所以这里输出 “11 我的名字燕子李三。今年5岁” C c = new C(); //由于C类继承B类。而B类又继承A类,所以C类的对象能够调用A类的公有成员 c.Sum(10, 6); // 调用父类的父类的Sum方法。所以这里输出“16 我的名字张三,今年5岁,” Console.ReadKey(); } }}

狮子、猴子和鸽子都是一种动物。因此,能够建立一个Animal 抽象基类,让狮子、猴子和鸽子从其派生出来

    abstract class Animal //抽象的动物类
    {
        public abstract void eat();
    }

    class Lion : Animal    //狮子
    {
        public override void eat()
        {
            Console.WriteLine("我吃肉");
        }
    }

    class Monkey : Animal   //猴子
    {
        public override void eat()
        {
            Console.WriteLine("我吃香蕉");
        }
    }

    class Pigeon : Animal   //鸽子
    {
        public override void eat()
        {
            Console.WriteLine("我吃大米");
        }
    }



版权声明:本文博主原创文章。博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116961.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月12日 下午8:00
下一篇 2022年1月12日 下午9:00


相关推荐

  • 谷歌搜索语法大全_Google语法

    谷歌搜索语法大全_Google语法Google是一款十分强大的搜索引擎,黑客们常常借助它搜索网站的一些敏感目录和文件,甚至可以利用它的搜索功能来自动攻击那些有漏洞的网站;而有些人可以通过搜索把某个个人的信息,包括住址、电话号码、出生年月等都可以搜索出来;当然我们在日常的生活中正确的借助Google搜索也可以更加高效的找到我们需要的东西。

    2025年10月25日
    5
  • pycharm 多行编辑_pycharm如何只运行部分代码

    pycharm 多行编辑_pycharm如何只运行部分代码pycahrm的多行编辑模式可以允许你多行写像同样的代码,但是你删除的时候,也不会像以前那样舒服了,下面就是多行模式的删除的时候出现的问题:选中删除的时候,会出现部分选中,甚至会出现很长的竖着的输入标志,如果有人遇到了这样的问题就i是可能不小心把多行输入这个功能打开了~…

    2022年8月25日
    10
  • 登陆网站时验证码有什么作用

    登陆网站时验证码有什么作用没有验证码登陆,黑客会更加容易激活成功教程你的账号,通过组合码刷机等黑客技术来破取你的密码,有了验证码相当于加了一层很厚的屏障,安全系数很高。  验证码是一种区分用户是计算机和人的公共全自动程序。  验证码作用:可以防止恶意激活成功教程密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力激活成功教程方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,百度社…

    2022年7月14日
    17
  • 更新wpscan_wpscan 更新超时报错

    更新wpscan_wpscan 更新超时报错https data wpscan org plugins jsonhttps data wpscan org plugins json sha512https data wpscan org themes jsonhttps data wpscan org themes json sha512https data wpscan org wordpresses jsonh

    2026年3月19日
    3
  • 阿里Maven私服

    阿里Maven私服nexus aliyunNexusa maven aliyun com nexus content groups public defaultfalse aliyunNexusa maven aliyun com nexus content groups public

    2026年3月16日
    2
  • 【Redis】Redis配置文件详解

    【Redis】Redis配置文件详解一、存放位置linux下一定要养成备份配置文件的习惯。我是将配置文件拷贝至/myredis目录下进行操作的;二、Units单位这个在配置文件开始位置1.配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit;2.对大小写不敏感。三、INCLUDES1.和Struts2配置文件类似,可以通过includes包含,redis.c…

    2022年6月7日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号