本节内容:

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. start_udev 是不是会写磁盘头

    遇到一个案例,在这里记录一下 一套Oracle 11.2.0.4 RAC环境,操作系统是RHEL 6.5,共享磁盘是通过UDEV实现RAW绑定设备名,如下 [root@rac1 opt]# ll /d ...

  2. Pymysql的常见使用方法

    cursor.fetchone()与cursor.fetchall()的区别: cursor.fetchone():只能显示一个数据 cursor.fetchall():才能显示查出来的所有数据  P ...

  3. React中条件渲染

    17==> 条件渲染 state初始化一般写在构造器当中 CharShop.js如下 import React, { Component } from "react"; ex ...

  4. 如何在Markdown格式下插入动图/gif

    上传GIF动图与上传普通图片是一样的,都需要以下在markdown语法中 ![]() 的小括号内填写图片的地址.问题在于如何获取本地gif的地址呢? 核心的东西就是要把这个gif动图传上网络,这样图片 ...

  5. SpringCloud单元测试【六】

    SpringCloud的单元测试主要是依靠 Mock以及Mockito, 所以我们需要对Mock以及Mockito有一定的认识. 一.为什么要用MockMvc 可能我们在测试控制层的代码都是启动服务器 ...

  6. Filter 原理

    二.Filter 原理 2.1 Filter 概述 Filter(过滤器)是 DirectShow 中最基本的概念.DirectShow 是通过 Filter Graph 来管理 Filter 的.F ...

  7. MECE分析法

      概述 MECE分析法,是麦肯锡的第一个女咨询顾问 Barbara Minto 在金字塔原理中提出的一个很重要的原则. MECE分析法,全称Mutually Exclusive Collective ...

  8. MySQL 表和列的注释

    像代码一样,可以为表以及表中的列添加注释,方便其他人知晓其功能.对于一些字段,在经过一定时间后,创建者未必也能想起其具体的含意,所以注释显得尤为重要. 注释的添加 注释的添加是通过在定义表或列的时候在 ...

  9. wpf dual monitor

    <Window x:Class="DualMonitors.Views.WinLeft" xmlns="http://schemas.microsoft.com/w ...

  10. SpringBoot 教程之属性加载详解

    免费Java高级资料需要自己领取,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G.            ...