首页 > 代码库 > 关于C#继承运用的总结
关于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#继承运用的总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。