本节内容:

1:为什么要继承

2:继承特点

3:继承的实现

4:子类传统构造,与base构造

1:为什么要继承

2:继承特点

什么是继承:
继承就是子类包含父类的数据结构和行为方式,
包括字段、属性、方法 在类的继承中:
有父类和子类一组,还有基类与派生类一组的雅名。
二者是一样的,只是叫法不同。 继承的好处:
)提高了代码的重用性;
)提高程序设计的效率;
)为程序设计中的特别需要提供了编写代码的自由空间,
从而提高了已有程序设计成果的可扩展性。

3:继承的实现

注意点:类的继承规则
:单根性 只能继承一个父类
:传递性(查看类图) ####点击解决方案资源管理器,右键属性,查看类图
:派生类定义与基类同名的成员,则覆盖基类成员
:派生类自然继承基类成员,但不能继承基类的构造的成员,但是会默认的调用父类的无参构造函数。
############clerk类##################
class Clerk
{
private string _name; public string Name
{
get { return _name; }
set { _name = value; }
} private int _age; public int Age
{
get { return _age; }
set { _age = value; }
}
public void Csayhello()
{
Console.WriteLine("我是{0},我{1}",this.Name,this.Age);
} #####################sales类##################################
class sales:Clerk //这样就有了父类的字段、属性、方法 但是父类的字段是private的不能访问
{
private string _partment; public string Partment
{
get { return _partment; }
set { _partment = value; }
} public void Ssyahello()
{
Console.WriteLine("我是{0},我{1}岁,我在{2}部门",this.Name,this.Age,this.Partment);
} } #################technical 类########################### class technical:sales
{
private string _hobby; public string Partment
{
get { return _partment; }
set { _partment = value; }
} public string Hobby
{
get { return _hobby; }
set { _hobby = value; }
} public void Tsayhello()
{
Console.WriteLine("我是{0},我{1}岁,我在{2}部门,我的喜爱{3}",this.Name,this.Age,this.Partment,this.Hobby);
} ############Main方法###################### class Program
{
static void Main(string[] args)
{
}
}

请求完整代码继承

解释注意点3:派生类定义与基类同名的成员,则覆盖基类成员

解决办法:要想重写父类的字段,采用关键字new

总结:

new关键字可以隐藏基类的属性或方法。

以后一见到new关键字,就说明基类中有相同的方法或属性;

解释注意点4:  子类不能继承基类的构造的成员

在Main 方法进行实例化。  ///要记得在子类和父类中创建一个无参的构函数造

namespace 继承
{
class Program
{
static void Main(string[] args)
{
Clerk zs = new Clerk("张三", );
sales ws = new sales("王四", ); //“继承.Clerk”不包含采用“0”个参数的构造函数,无法继承父类的构造 }
}
}

4:子类传统构造,与base构造

5:封装类,禁止子类继承

class test1:test //错误    继承.test1”: 无法从密封类型“继承.test”派生
{
} sealed class test
{
}

c# 第32节 类的继承的更多相关文章

  1. java第四节 类的继承/抽象/接口/多态性

    /* 类的继承 类的继承可以简化类的定义 java只支持单继承,不允许多重继承 可以有多层继承,即一个类可以继承其一个类的子类,如类B继承了类A,类C又可以继承类B 那么类C也间接继承了类A 子类继承 ...

  2. 53)PHP,类的继承

    详见   视频第十七天  中的第二节 类的继承 所以   类之间的继承就是一种新的关系的建立,并不是将父类的东西重新复制给子类--------------------- 当你实例化一个类的时候,调用它 ...

  3. 第四百零六节,自定义用户表类来继承Django的用户表类,

    第四百零六节,自定义用户表类来继承Django的用户表类, models.py from django.db import models # Create your models here. from ...

  4. Java面向对象 第3节 类的封装和继承

      一.封装 封装的概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作. 封装的2个大致原则:1)把尽可能多的东西隐藏起来,对外提供便捷的接口 ...

  5. 第32节:Java中-构造函数,静态方法,继承,封装,多态,包

    构造函数实例 class Cat{ // 设置私有的属性 name private String name; // 设置name的方法 public void setName(String Name) ...

  6. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  7. 面向对象【day07】:类的继承(七)

    本节内容 1.概述 2.类的继承 3.总结 4.练习 一.概述 之前我们说到了类的公有属性和类的私有属性,其实就是类的封装,下面我们来讲讲继承,是面向对象的第二大特性. 面向对象编程 (OOP) 语言 ...

  8. Objective-C编程 — 类和继承

    讲述面向对象中的一个重要概念——继承,使用继承 可以方便地在已有类的基础上进行扩展,定义一个具有父 类全部功能的新类. 父类和子类 我们在定义一个新类的时候,经常会遇到要定义的新类是某个类的扩展或者是 ...

  9. python 类定义 继承

    0 前言 系统:win7 64bit IDE : python(x,y) 2.7.6.1 IDE集成的解释器:Python 2.7.6 (default, Nov 10 2013, 19:24:18) ...

随机推荐

  1. 201871010126 王亚涛《面向对象程序设计 JAVA》 第十三周学习总结

      内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/ ...

  2. es6 Iterator和for...of循环

    javascript表示集合的数据结构有 es5: array object es6: map set, 一共4种数据集合 需要一种统一的接口机制来处理所有不同的数据结构 遍历器就是这样一种机制,它是 ...

  3. Educational Codeforces Round 76 (Rated for Div. 2) D. Yet Another Monster Killing Problem 贪心

    D. Yet Another Monster Killing Problem You play a computer game. In this game, you lead a party of

  4. 多网卡做team

    简明的说,就是把多个物理网卡绑定成一个逻辑上的网卡,以增加带宽,或者实现主备功能,增加硬件冗余,以实现更高的系统稳定性,目前主要有bond和team两种做法,而bond主要是针对双网卡的情况来说,而t ...

  5. 手动创建分区以及软硬raid的问题

    本文章旨在介绍安装centos7时手动分区问题,及其所对应的软硬raid问题.在新建centos7系统时,需要手动分区时,提供给我们三个选项: 在上图中,默认选项为“Standard Partitio ...

  6. IT兄弟连 Java语法教程 流程控制语句 分支结构语句2

    2  if-else条件语句 if-else语句的完整形式如下: if(判断条件){ A代码块(判断条件的值为true,执行) }else{ B代码块(判断条件的值为false,执行) } 当然,如果 ...

  7. Flink on Yarn的两种模式及HA

    转自:https://blog.csdn.net/a_drjiaoda/article/details/88203323 Flink on Yarn模式部署始末:Flink的Standalone和on ...

  8. git 清除远程仓库已经删除的本地分支 清除已经合并到master的本地分支

    在gitlab中执行deleted merged.也是可以在本地看到这些分支的 查看本地分支和追踪情况: git remote show origin 可以发现远程分支已被删除的分支,根据提示可以使用 ...

  9. 几个高逼格 Linux 命令!

    作者:忧郁巫师 https://dwz.cn/A1FOjLXk 1. sl 命令 你会看到一辆火车从屏幕右边开往左边…… 安装 $ sudo apt-get install sl 运行 $ sl 命令 ...

  10. cmd命令详解

    这几天用了一下Windows系统的“黑框”,即win+R键,发现有些命令都忘了,还得查,就总结了一下: cmd命令 CMD命令:开始->运行->键入cmd或command(在命令行里可以看 ...