美文网首页
16、继承

16、继承

作者: Peuimporte | 来源:发表于2021-10-28 14:29 被阅读0次

1. 继承的简介:

继承(加上封装和多态性)是面向对象的编程的三个主要特性(也称为“支柱”)之一。 继承用于创建可重用、扩展和修改在其他类中定义的行为的新类。
其成员被继承的类称为“基类”,继承这些成员的类称为“派生类”。 派生类只能有一个直接基类。 但是,继承是可传递的。 如果 ClassB 派生出 ClassC,ClassA 派生出 ClassB,则 ClassC 会继承 ClassB 和 ClassA 中声明的成员。

2. 思考题

题目 :

老师、学生的类。
老师有名字、性别、年龄、所带班级、教的科目, 老师可以教学生学习,老师可以用电脑, 老师可以吃饭。
学生有名字、性别、年龄、所在班级,学生可以学习,还可以用电脑,还可以吃饭。

思路:

在看这道题的时候,首先先看共同的属性,可不可以抽出一个基类,然后再去继承这个基类。
1. 显而易见,我们可以定义一个Person类,具有名字、性别、年龄这些字段,还有吃饭、用电脑这两个方法。
2. 老师的类继承自Person类,只需要添加教的科目、所带的班级的字段,和教学生的方法。
3. 学生继承自Person类,只需要添加一个所在班级的字段,和学习的方法。

代码:


1. 基类

namespace 继承
{
    enum gender
    {
        boy,
        girl
    }
    class Person  
    {
        public string name;
        public int age;
        public gender gender;

        public void eat()
        {
            Console.WriteLine("我在吃东西");
        }

        public void playComputer()
        {
            Console.WriteLine("我在用电脑");
        }
    }
}

2. 老师类

namespace 继承
{
    class Teacher : Person
    {
        public string className;
        public string subjectName;

        public void teach()
        {
            Console.WriteLine("教学生学习");
        }
    }
}

3. 学生类

namespace 继承
{
    class Student : Person
    {
        public string inClassName;

        public void learn()
        {
            Console.WriteLine("学生正在学习");
        }
    }
}

相关文章

  • 16、继承

    1. 继承的简介: 继承(加上封装和多态性)是面向对象的编程的三个主要特性(也称为“支柱”)之一。 继承用于创建可...

  • 16-继承

    写在前面 名词解释 码上建功 补充 完整代码demo,请移步GitHub:DDGLearningCpp

  • AQS之ReadWriteLock

    高16位表示读锁,低16位表示写锁 ReadLock和WriteLock都继承自 代码示例

  • Swift创建UITabBarController 自定义选中i

    16进制数转UIColor: 继承于UITabBarController 在AppDelegate中: 效果图:

  • 复合优于继承

    第16条:复合优于继承 前言 本条内容的继承不包括接口继承。 1.什么事复合 复合就是在你的类中添加一个私有域,引...

  • JDK HashMap详解

    HashMap的继承关系如图: 初始空间大小 1<<4(16)最大空间大小1 << 30 (1073741824)...

  • 第一天:java的数据类型

    java特性: 封装、继承、多态、抽象 java的数据类型有: 整型:byte(8) short(16) int...

  • GeekBand-OC中的字符串

    NSString是一个Unicode编码,16位字符的字符序列。NSString继承于NSObject,引用类型,...

  • 07. 自定义类加载器

    第一个自定义类加载器 继承抽象类ClassLoaderpublic class MyTest16 extends ...

  • Java入门系列-16-继承

    这一篇文章教给新手学会使用继承,及理解继承的概念。掌握访问修饰符、掌握 final 关键字的用法。 继承 为什么要...

网友评论

      本文标题:16、继承

      本文链接:https://www.haomeiwen.com/subject/kxdvaltx.html