C# 继承实现父类方法、重写、重载
继承是派生类(子类)去实现(重写<override>、重构<new>)基类(父类)的方法或属性。从而获取在派生类中要实现的功能。
子类调用父类构造方法,在父类中有个实现姓名和年龄的构造方法但是中子类也要实现这样的功能这时子类不用再次去写这个功能只要去调用父类的功能即可。
public class Person { private string _name = null; private int _age = 0; public Person(string name, int age)//父类的构造方法 { this._name = name;//获得参数的值 this._age = age; Console.WriteLine("您的姓名是{0},您的年龄是{1}.", this._name, this._age); }} public class Studnet : Person { private int _id; public Studnet(string name, int age, int IDCard):base(name,age) //子类构造方法继承父类构造方 //把接受到的name、age两个参数交给父类的构造方法去处理 { this._id = IDCard; Console.WriteLine("您的身份证号码为{0}",this._id); }} class Program { static void Main(string[] args)//主函数 { Studnet stu = new Studnet("benshou", 12, 99999); Console.ReadLine(); } }
实现效果
您的姓名是benshou,您的年龄是12.
您的身份证号码为99999
在C#中定义了,子类去调用父类的方法时,会先去执行父类的方法之后再去执行子类的方法
还是以子类继承父类,现在是子类实现父类的重写和重载
重写只是对方法里面的功能实现重新做的了编写,并没有对方法的参数进行添加、改变、删除
重载则是对方法参数的个数、位置、参数类型进行了改变。
重写ShowME方法
public class Person { public virtual void ShowME(string name,string school,string Class) { Console.WriteLine("我在{0}学习",Class); Console.WriteLine("我叫{0}.我毕业与{1}",name,school); }} public class Studnet : Person { public override void ShowME(string name,string school, string Class) //重写了父类的ShowME方法 { Console.WriteLine("姓名{0}\n毕业学校{1}\n曾读班级{2}", name,school,Class); } } } class Program { static void Main(string[] args)//主函数 { Student stu = new Studnet(); stu.ShowME("benshou","浙江金融职业学院","电子商务(7)班"); Console.ReadLine(); } }
实现效果
姓名benshou
毕业学校浙江金融职业学院
曾读班级电子商务(7)班
重写的父类方法时,必须指明被重写的方法是虚方法(virtual关键字)。在子类重写父类方法时必须有重写关键字(override)这样才能重写父类的方法
重载ShowME方法
public class Person { public void ShowME(string name,string school,string Class) { Console.WriteLine("我在{0}学习",Class); Console.WriteLine("我叫{0}.我毕业与{1}",name,school); } } public class Studnet : Person { public new void ShowME(string name) { Console.WriteLine("姓名{0}",name); } } class Program { static void Main(string[] args)//主函数 { Studnet stu = new Studnet(); stu.ShowME("benshou"); Console.ReadLine(); } }
实现效果
姓名benshou
子类重载父类方法,子类必须指定重载的关键字(new),而父类被重载的方法则可以不用指定哪个方法被重载的关键字(virtual)。重载一个方法,是对一个方法重新进行了编写从方法的参数到方法体,唯独方法的名称没有进行改变。重载也可以对原来没有返回类型的方法(void),改变为有返回类型的方法。总体来讲,重载处了方法名不能被改变为另外什么都能重新定义(方法作用域、返回类型、方法体、方法参数)
C# 继承实现父类方法、重写、重载相关推荐
- Eclipse,静态,继承,封装,this,super,重写,重载,多态,final,冒泡排序,选择排序,抽象类,接口,内部类
文章目录 Eclipse工具中java项目的工程结构 静态代码块的书写格式 静态代码块,构造代码块,构造方法的优先级 static关键字的特点 封装的概念 private关键字的特点 面向对象思想特点 ...
- Java中父类方法重写有哪些需要注意的?
在继承关系中,子类会自动继承父类中公共的方法,但有时在子类中需要对继承的方法进行一些修改,即对父类的方法进行重写.需要注意的是,子类中重写的方法需要和父类被重写的方法具有相同的方法名.参数列表以及返回 ...
- 关于java继承中父类方法可见性探讨
2019独角兽企业重金招聘Python工程师标准>>> 先给出一个示例: class Person{ String name=null; Person() { name=&quo ...
- java 类 方法继承_java – 在方法重写中返回继承的类而不是超类
我有一个看起来像这样的类结构: class Parent { public Parent(int property) { /* use property */} } class Son extends ...
- Java中方法签名signature、方法重载以及“两同两小一大”的方法覆盖(方法重写)总结
1. 方法 1.1 方法 实现了某一功能,代码可以复用 1.2 方法签名 java中每个方法都有一个签名,包含方法名和参数列表(类型.个数以及顺序),只要其中一个不同,方法的签名不同,也就是属于不同的 ...
- 父类可以调用子类的方法吗_python类的继承、多继承及查找方法顺序
讲解类的继承,先用无__init__()方法的类讲解,会更容易理解 分三部分讲解 1.单继承(无__init__()方法) 继承方式:子类(父类): 方法重写:防止执行父类的方法.不想继承父类的某个方 ...
- java中的方法重写
1 方法重写 1.1什么是方法重写 子类中出现了和父类中一模一样的方法声明(方法名,参数列表,返回值类型),也被称为方法覆盖,方法复写. Override和Overload的区别?Overload能改 ...
- day03--java基础编程:面向对象,构造方法,代码块讲解,this super,static,final,访问修饰符,方法重写,向上/下造型,main方法,抽象类,接口,设计模式,异常,内部类
1 Day06–面向对象1 1.1 面向对象 1.1.1 概念 推荐看的书:Thinking in java 概念:所谓的面向对象是一种编程思想,通过这种思想可以把生活中的复杂事情变得简单化,从原来的 ...
- day03--java基础编程:面向对象,构造方法,代码块讲解,this super,static,final,访问修饰符,方法重写,向上_下造型,main方法,抽象类,接口,设计模式,异常,内部类
1 Day06–面向对象1 1.1 面向对象 1.1.1 概念 推荐看的书:Thinking in java 概念:所谓的面向对象是一种编程思想,通过这种思想可以把生活中的复杂事情变得简单化,从原来的 ...
最新文章
- Android应用中使用AsyncHttpClient来异步网络数据
- 如何在TC里输出下拉列表
- c++ 定时器_【话说定时器系列】之十:PWM输入模式测量脉宽及占空比实验
- mysql的二级分区_分布式数据库一级分区和二级分区
- wxWidgets:类型Types 示例
- python降维之时间类型数据的处理_python学习笔记之使用sklearn进行PCA数据降维
- 自定义SpringBoot start 自动打印日志
- 14张思维导图带你系统学习Python核心知识
- mysql 创建分区索引吗_MySQL分区字段列有必要再单独建索引吗?
- 序列化_SpreadJS序列化与反序列化表格Serialization+Deserialization
- js排序算法05——快速排序
- 惠普p1106打印机安装步骤_hplaserjetp1106打印机驱动安装说明
- LDA算法和PCA算法的总结(原理和思想)
- mysql有varchar2吗_char、varchar、varchar2区别
- 经度,纬度的正则表达式
- 中华神话传说中神仙全表(ZZ)
- 最强神器工具:新一代多系统启动 U 盘装机解决方案
- 无刷直流电动机矢量控制(五)——开环调速原理(方波形式)
- python-格式化写入xml文件
- 2019最新抖音全方位数据分析报告