c# 第32节 类的继承
本节内容:
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节 类的继承的更多相关文章
- java第四节 类的继承/抽象/接口/多态性
/* 类的继承 类的继承可以简化类的定义 java只支持单继承,不允许多重继承 可以有多层继承,即一个类可以继承其一个类的子类,如类B继承了类A,类C又可以继承类B 那么类C也间接继承了类A 子类继承 ...
- 53)PHP,类的继承
详见 视频第十七天 中的第二节 类的继承 所以 类之间的继承就是一种新的关系的建立,并不是将父类的东西重新复制给子类--------------------- 当你实例化一个类的时候,调用它 ...
- 第四百零六节,自定义用户表类来继承Django的用户表类,
第四百零六节,自定义用户表类来继承Django的用户表类, models.py from django.db import models # Create your models here. from ...
- Java面向对象 第3节 类的封装和继承
一.封装 封装的概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作. 封装的2个大致原则:1)把尽可能多的东西隐藏起来,对外提供便捷的接口 ...
- 第32节:Java中-构造函数,静态方法,继承,封装,多态,包
构造函数实例 class Cat{ // 设置私有的属性 name private String name; // 设置name的方法 public void setName(String Name) ...
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...
- 面向对象【day07】:类的继承(七)
本节内容 1.概述 2.类的继承 3.总结 4.练习 一.概述 之前我们说到了类的公有属性和类的私有属性,其实就是类的封装,下面我们来讲讲继承,是面向对象的第二大特性. 面向对象编程 (OOP) 语言 ...
- Objective-C编程 — 类和继承
讲述面向对象中的一个重要概念——继承,使用继承 可以方便地在已有类的基础上进行扩展,定义一个具有父 类全部功能的新类. 父类和子类 我们在定义一个新类的时候,经常会遇到要定义的新类是某个类的扩展或者是 ...
- python 类定义 继承
0 前言 系统:win7 64bit IDE : python(x,y) 2.7.6.1 IDE集成的解释器:Python 2.7.6 (default, Nov 10 2013, 19:24:18) ...
随机推荐
- Python机器学习笔记——One Class SVM
前言 最近老板有一个需求,做单样本检测,也就是说只有一个类别的数据集与标签,因为在工厂设备中,控制系统的任务是判断是是否有意外情况出现,例如产品质量过低,机器产生奇怪的震动或者机器零件脱落等.相对来说 ...
- Tornado(1)
概述 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第一周学习总结
丁宣元 <面向对象程序设计(java)>第一周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- win7 Adobe flash player 无法在线更新
1.win7 Adobe flash player 无法在线更新,提示应用程序初始化错误 解决方法: 1.https://www.flash.cn/看一下支持的版本,网上找对应版本离线包下载安装即可 ...
- 将静态页面部署到github.io
背景: 我的腾讯云服务器是之前利用学生身份(有优惠)买的,现在快到期了,而且服务器上面只有一个引导页(静态页面)还有用,别的项目都没有用了.所以就想找一种不花钱买服务器就可以访问到我的引导页的方法 ...
- 【转】Ubuntu 16 安装 python 依赖出现 error: command 'i686-linux-gnu-gcc' failed with exit status 1
问题 在 Ubuntu 下安装 python 依赖的时候出现以下错误 build/temp.linux-i686-3.5/_openssl.c:498:30: fatal error: openssl ...
- Vue之外的杂谈笔记
1.老项目的构建输出为什么臃肿? 引用:(引自http://www.cnblogs.com/linfangshuhellowored/p/5657285.html) 答:因为使用的是require的r ...
- 基于Node 的http转发demo,项目中请使用express+http-proxy-middleware
var http = require("http"); var data = ''; function getData() { const options = { host: 'w ...
- 【前端知识体系-JS相关】你真的了解JavaScript编译解析的流程吗?
1. JS编译解析的流程 1.1 JS运行分三步 语法分析(通篇扫描是否有语法错误),预编译(发生在函数执行的前一刻),解释执行(一行行执行). 1.2 预编译执行分五步 创建AO对象(Activat ...
- SQL Server内部如何管理对象的数据Page?
一个表或Index使用的数据页空间是由IAM Page Chain来管理的.SQL Server 使用一个IAM(Index Allocation Map)Page来管理数据库文件中最多4GB的空间, ...