当前位置: 首页 > news >正文

东莞建网站公司平台关键词歌词完整版

东莞建网站公司平台,关键词歌词完整版,做网站不赚钱,电子商务网站设计公司本文介绍不同类型的方法,在代码中的执行顺序问题: 构造方法普通方法(暂用common代替)、虚方法(Virtual修饰)、New方法(new修饰)三个优先级相同overide方法(会替换virtual…

本文介绍不同类型的方法,在代码中的执行顺序问题:

  • 构造方法
  • 普通方法(暂用common代替)、虚方法(Virtual修饰)、New方法(new修饰)三个优先级相同
  • overide方法(会替换virtual方法,此时virtual方法被隐藏,无法再调用到)


1. 构造函数方法(constructor)优先级最高,new/common/virtual/这三个修饰的方法优先级相同

  • 当父类、子类中的方法都是new/common/virtual/这三类的时候,可以理解为实例化对象的类型(等号左边的类型)是什么,就优先调用哪个类中的方法。
  • 父类初始化之后,无法生成子类的实例化对象。因整个过程,没有初始化子类的过程,不会生成子类对象。

在这里插入图片描述



在这里插入图片描述


using ConsoleDeomAlien;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleDeomAlien
{public class Product{public Product(){Console.WriteLine("old Constructor-------Product");}public void Intro(){Console.WriteLine("old method--------Intro\n");}}public class NewProduct : Product{public NewProduct(){Console.WriteLine("new Constructor-------NewProduct");}// 这里使用new修饰或不用new都可以。都代表对父类进行重写。// 如果父类注定要被子类重写的,父类中可以写个空方法,后续子类直接重写即可。public new void Intro()  {Console.WriteLine("new method--------Intro\n");}}public class MainMethod{public static void Main(){Product p = new Product();		// 初始化和实例对象是相同的,此时该class中的方法仅仅是被重写(未被覆盖),改方法还起作用。// 最终,有限调用自己class中的方法p.Intro();NewProduct np = new NewProduct();// 子类优先调用该类下面的方法。np.Intro();Product p_np = new NewProduct();// 初始化对象是用的子类,但是对象是父类类型,最终会优先调用父类的方法。p_np.Intro();// !!!不符合逻辑的实例化过程,因为父类初始化之后,没有调用子类的构造函数,无法生成子类的实例对象!!!// NewProduct np_p = new Product ();Console.ReadKey();}}
}

old Constructor-------Product
old method--------Introold Constructor-------Product
new Constructor-------NewProduct
new method--------Introold Constructor-------Product
new Constructor-------NewProduct
old method--------Intro


2. virtual / override 修饰的父、子类中的方法,最终virtual方法会被覆盖(且virtual被隐藏,无法起作用)

在这里插入图片描述

using ConsoleDeomAlien;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleDeomAlien
{public class Product{public virtual void Intro(){Console.WriteLine("old method--------Intro\n");}}public class NewProduct : Product{public override void Intro(){Console.WriteLine("new method--------Intro\n");}}public class MainMethod{public static void Main(){Product p = new Product();p.Intro();NewProduct np = new NewProduct();np.Intro();// 虽然实例对象是父类,但是调用不到父类的方法了,因为被隐藏了。Product p_np = new NewProduct();  p_np.Intro();Console.ReadKey();}}
}

old method--------Intronew method--------Intronew method--------Intro
  • 构造方法的优先级最高
  • 父类中的void方法会被子类中的普通(common)方法或virtual 方法覆盖。virtual & common 同等级。
  • 当子类中没override的时候,new会覆盖virtual / common
  • 当override存在时,virtual会被替代掉(virtual可以父类无法调用到virtual中的方法)
http://www.ritt.cn/news/23005.html

相关文章:

  • 动易网站怎么进入后台极速建站网站模板
  • wordpress主题webseo外包公司哪家好
  • 上海牛巨微网络科技有限公司上海专业的seo公司
  • 做私彩网站多少钱网推
  • wordpress做资源下载站石家庄百度关键词搜索
  • 海尔集团电商网站建设2022年明星百度指数排行
  • 嘉祥做网站网络营销的四大特点
  • 制作一个网站平台要多钱网页平台做个业务推广
  • 企业核名查询系统是哪个seo基础视频教程
  • 做网站一般有什么题目营销公司排行
  • 美工做网站尺寸多少钱长沙网站推广有哪些啊
  • 网站色彩搭配表谷歌paypal官网入口
  • 推荐常州网站建设公司网站关键词seo优化公司
  • 专做网站四川聚顺成网络科技有限公司
  • 广州注册公司最新流程网络排名优化软件
  • 家装平台有哪些西安seo代理计费
  • 学做饼干的网站免费二级域名注册网站
  • 去国外做移动支付网站吗在线一键建站系统
  • wordpress 搜索词青岛网络优化哪家专业
  • 苏州 做网站下载百度2024最新版
  • 公司做网站怎么推广长沙seo培训
  • b2b网站建设计划书凡科建站教程
  • 记事本做网站插图片站长素材音效
  • 深圳网络推广公司天涯问答网站标题优化排名
  • 苏州园区两学一做网站北京网站排名推广
  • 网站经营跟备案不符外贸营销型网站制作公司
  • 中文网站建设哪家好企业网站建设规划
  • 网络营销建设seo求职信息
  • 苏州企业网站建站系统网站推广的途径和方法
  • 网站代理登录网址免费站长工具