关于C#继承运用的总结
整体代码部分:
解决方案:

父类Person类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 第六章__联系
{
class Person
{
//姓名
public string Name { get; set; }
//年龄
public int Age { get; set; }
//无参构造
public Person()
{
}
//带参构造
public Person(string name,int age)
{
this.Name = name;
this.Age = age;
}
}
}
子类Chinese类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 第六章__联系
{
class Chinese:Person
{
public Sex Sex { get; set; }
public Chinese()
{
}
public Chinese(string name,int age,Sex sex):base()
{
this.Name = name;
this.Age = age;
this.Sex = sex;
}
}
}
性别Gender的枚举类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 第六章__联系
{
public enum Sex
{
男,女
}
}
Main函数:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 第六章__联系
{
class Program
{
static void Main(string[] args)
{
Chinese chinaese = new Chinese("张三",20,Sex.男);
Console.WriteLine(chinaese.Name+"\t"+chinaese.Age+"\t"+chinaese.Sex);
Console.ReadLine();
}
}
}
总结:
1.什么是继承?
继承,就是一个类可以使用另一个类的属性和方法(也就是另一个类的成员)
2.子类继承父类的符号
为冒号(:)
class Chinese:Person //子类Chinese继承父类Person的属性和方法
3.当new子类构造的时候,底层发生了什么?
图解:

当new子类构造时,程序会自动指向子类的构造,但不进入子类的构造体赋值,
然后转向父类的构造,进入父类的构造体,执行父类的构造体的内容,
再回到子类的构造,执行子类的构造体,
子类的构造体执行完毕后,
跳转到Main函数中,
最后在内存中构建出子类的对象
4.子类并不是能继承父类的所有项:
子类不能继承父类的构造函数,
子类刻意继承父类的私有成员,但不能访问到
5.访问修饰符:
修饰符 当前类 其他类 子类
private 可以 不可以 不可以
public 可以 可以 可以
protected 可以 不可以 可以
6.base关键字
base可以调用父类的属性和方法,可以调用父类的构造函数
7.base()括号内的内容
base(传参顺序和父类构造一致,变量名和子类构造参数一致)
8.在子类调用构造的时候,默认会用base()调用父类的无参构造
9.当为父类的属性赋值的话,可以使用base代替this赋值
end~
关于C#继承运用的总结的更多相关文章
- javaScript的原型继承与多态性
1.prototype 我们可以简单的把prototype看做是一个模版,新创建的自定义对象都是这个模版(prototype)的一个拷贝 (实际上不是拷贝而是链接,只不过这种链接是不可见,给人们的感觉 ...
- JavaScript的继承实现方式
1.使用call或apply方法,将父对象的构造函数绑定在子对象上 function A(){ this.name = 'json'; } function B(){ A.call(this); } ...
- javascript中的继承与深度拷贝
前言 本篇适合前端新人,下面开始...... 对于前端新手来说(比如博主),每当对js的对象做操作时,都是一种痛苦,原因就是在于对象的赋值是引用的传递,并非值的传递,虽然看上去后者赋值给了前者,他们就 ...
- 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- JS继承类相关试题
题目一: //有关于原型继承的代码如下:function Person(name) { this.name = name;}Person.prototype = { getName : f ...
- JS继承之寄生类继承
原型式继承 其原理就是借助原型,可以基于已有的对象创建新对象.节省了创建自定义类型这一步(虽然觉得这样没什么意义). 模型 function object(o){ function W(){ } W. ...
- JS继承之借用构造函数继承和组合继承
根据少一点套路,多一点真诚这个原则,继续学习. 借用构造函数继承 在解决原型中包含引用类型值所带来问题的过程中,开发人员开始使用一种叫做借用构造函数(constructor stealing)的技术( ...
- JS继承之原型继承
许多OO语言都支持两种继承方式:接口继承和实现继承.接口继承只继承方法签名,而实现继承则继承实际的方法.如前所述,由于函数没有签名,在ECMAScript中无法实现接口继承.ECMAScript只支 ...
- 深入浅出JavaScript之原型链&继承
Javascript语言的继承机制,它没有"子类"和"父类"的概念,也没有"类"(class)和"实例"(instanc ...
- 如果你也会C#,那不妨了解下F#(7):面向对象编程之继承、接口和泛型
前言 面向对象三大基本特性:封装.继承.多态.上一篇中介绍了类的定义,下面就了解下F#中继承和多态的使用吧.
随机推荐
- NET开发面向对象2
面向对象 (2) 继续上一篇<ASP.NET开发,从二层至三层,至面向对象>http://www.cnblogs.com/insus/p/3822624.html .我们了解到怎样把自己的 ...
- c#编写的基于Socket的异步通信系统
c#编写的基于Socket的异步通信系统 SanNiuSignal是一个基于异步socket的完全免费DLL:它里面封装了Client,Server以及UDP:有了这个DLL:用户不用去关心心跳:粘包 ...
- Hadoop 从URL中读取数据
package com.hadoop; import java.io.IOException; import java.io.InputStream; import java.net.URL; imp ...
- OO设计
Todd.log - a place to keep my thoughts on programming 评OO设计 昨天在微博上看到InfoQ提供了一本新书<完美软件开发:方法与逻辑> ...
- JavaScript事件的几个细节
JavaScript事件的几个细节 一.是捕获还是冒泡 昨天被问到一个问题:事件流有几个阶段?在这几个阶段中,事件一共发生几次? 问题很简单,但对于事件一共发生几次有点乱.总觉得捕获也能触发事件.冒泡 ...
- CentOS上搭建java WEB开发环境Tomcat+MySQL+JDK
对于初学者来说,想在linux系统上搭建一个java web服务器,不知道什么方案可行, 这篇文章主要是告诉这些基础和概念相对薄弱的同学,这样搭建是可行的,大体上没问 题的,出问题也是细节问题.所以此 ...
- 框架的设计之IRepository还是IRepository<T>
[Yom框架]漫谈个人框架的设计之[是IRepository还是IRepository<T>]? 前言 ...
- RTB撕开黑盒子 Part 1: Datacratic's RTB Algorithms
这篇文章是讨论Datacratic所用的统计和经济理论的一些内容.我们开发了real time bidding算法s.为了实现广告主的目标,我们的算法自动地利用其它广告主的次优策略,并再查看广告的底价 ...
- 初始化IoC容器(Spring源码阅读)
初始化IoC容器(Spring源码阅读) 我们到底能走多远系列(31) 扯淡: 有个问题一直想问:各位你们的工资剩下来会怎么处理?已婚的,我知道工资永远都是不够的.未婚的你们,你们是怎么分配工资的? ...
- HTML5学习+javascript学习:打飞机游戏简介以及Model层
本着好记性不如烂博客以及分享成功的喜悦和分享失败的苦楚,今天我来分享下一个练手项目:打飞机游戏~从小就自己想做游戏,可是一直没有机会.HTML5给了我们这个平台,这个平台可以有很多以前想都不敢想的东西 ...