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

东莞建网站公司平台口碑营销的概念

东莞建网站公司平台,口碑营销的概念,网站建设价格标准,wordpress自适应空白主题本文介绍不同类型的方法,在代码中的执行顺序问题: 构造方法普通方法(暂用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.dinnco.com/news/42180.html

相关文章:

  • 电子商务网站建设与管理的论文怎么推广自己的微信号
  • 商业网站模板厦门seo怎么做
  • 网站建设公司的公司谷歌ads
  • 做农产品交易网站有哪些博客网站登录
  • 组建 网站开发团队网络推广费用大概价格
  • 动漫网站logo广东seo点击排名软件哪里好
  • 北京哪家做网站优化网站快速优化排名软件
  • 资阳seo人员优化是什么意思
  • 都匀网站制作色盲测试图第五版
  • 怎么做网站内容添加凡科网小程序
  • 怎样用自己的服务器做网站淄博网站制作
  • 网络营销渠道特点seo项目是什么
  • 北京商城网站开发公司如何找外包的销售团队
  • wordpress添加页头代码上海搜索引擎优化1
  • 支付网站怎么做万网登录入口
  • 贵州省住房和城乡建设厅网站报名网网页设计软件
  • 浦东新区专业网站建设seo整站怎么优化
  • 品牌网站案例怎么做一个小程序
  • 怎么用php自己做网站福建seo排名
  • 开发网站的基本流程网页版登录入口
  • 网站首页排名无锡网站建设方案优化
  • 网站301的作用今日最新国际新闻头条
  • laravel如何做网站百度热搜关键词
  • 杭州网站建设公司茂名网络推广
  • 如何做好区县外宣网站建设seo搜索引擎优化课后答案
  • 网站 验证码 错误男生短期培训就业
  • 做网站怎么导入地图百度推广手机版
  • 网站设计素养迅雷bt磁力链 最好用的搜索引擎
  • 做网站需要学jsp泉州百度推广排名优化
  • 网站做自适应的好处seo排名分析