本节内容:

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. Under what conditions should the 'start_udev' command be run?

    环境 Red Hat Enterprise Linux 问题 We run start_udev as part of the storage allocation procedure that we ...

  2. android 获得一些设备信息的静态函数

    1.Brand,IMEI,DeviceOS,DeviceFactoryTime public static String getDeviceBrand(Context context) { Strin ...

  3. Scrapy的下载中间件

    下载中间件 简介 下载器,无法执行js代码,本身不支持代理 下载中间件用来hooks进Scrapy的request/response处理过程的框架,一个轻量级的底层系统,用来全局修改scrapy的re ...

  4. docker上启动nginx,并配置修改nginx的配置文件

    1.使用docker 下载nginx 镜像  docker pull nginx 2.启动nginx docker run --name nginx -p 80:80 -d nginx 这样就简单的把 ...

  5. cf之kmp匹配稍稍改一改

    看样例就知道要干嘛了 http://codeforces.com/contest/1200/problem/E 每次我们用新的串和答案串匹配,答案串的匹配位置是max(0,(int)ans.size( ...

  6. AcWing 28. 在O(1)时间删除链表结点

    地址 https://www.acwing.com/problem/content/description/85/ 题目描述给定单向链表的一个节点指针,定义一个函数在O(1)时间删除该结点. 假设链表 ...

  7. layUI学习第五日:layUI布局系列二

    6.列偏移 列偏移可针对不同屏幕的标准进行设定,只会在桌面屏幕下有效,当低于桌面屏幕的规定的临界值,就会堆叠排列. <div class="layui-col-md4 layui-co ...

  8. windows golang安装golang.org/x/net text grpc

    使用git # 吧$GOPATH替换成自己的GOPATH git clone https://github.com/golang/net.git $GOPATH\src\golang.org\x\ne ...

  9. 【CodeChef】December Challenge 2019 Div1 解题报告

    点此进入比赛 这次比赛本来想好好打的,但不幸的是,这周先是要认真复习准备月考,考完又是发烧在床上躺了一个周末,所以最终没能打完. 我还是好弱啊. \(T1\):Binary XOR(点此看题面) 大致 ...

  10. 学习workerman之前需要知道的几种php回调写法

    在workerman中会经常使用,我们先写一个回调函数,当某个行为被触发后使用该函数处理相关逻辑. 在PHP中最常用的几种回调写法如下 匿名函数做为回调 匿名函数(Anonymous function ...