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

房产o2o网站建设企业网站建设论文

房产o2o网站建设,企业网站建设论文,新疆行网页设计,网站开发的公司属于什么行业本文介绍不同类型的方法,在代码中的执行顺序问题: 构造方法普通方法(暂用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.tj-hxxt.cn/news/64515.html

相关文章:

  • 网站开发怎么做百度推广平台登录
  • 网站服务器的安全性首先是实现用户账号的权限设置免费发布推广的平台
  • 新乡网站建设多少钱企业推广语
  • 网站官网怎么做收录优美图片手机版
  • 阿里云centos7做网站最火网站排名
  • 重庆潼南网站建设哪家好新产品的推广销售方法
  • 网站开发毕设参考文献图片搜索识图入口
  • 租服务器发布网站百度平台推广联系方式
  • 大一html网页制作期末源代码为什么seo工资不高
  • 安全文化建设方案细则手机网站怎么优化关键词
  • 如何利用源代码做网站南京百度推广
  • 政府网站制作平台重庆森林电影完整版
  • 网站开发流程步骤关于普通话的手抄报
  • 裂变分销系统seo技术优化技巧
  • 网站下载系统网络营销的类型有哪些
  • 河南城乡建设厅网站湘潭关键词优化公司
  • 淘宝上买的网站模板怎么建设网站建网站找谁
  • 京东网站怎么做百度风云榜游戏
  • 单位门户网站是什么软件开发公司排名
  • 盐城企业做网站多少钱南通关键词优化平台
  • 怎样创作网站免费推广工具有哪些
  • 网站建设成功案例方案网站怎么弄
  • php和ASP网站那个好百度排名工具
  • 南宁seo费用服务重庆百度推广优化排名
  • 搜狐网站建设湖北短视频seo营销
  • 百度怎么建设网站网站关键字优化价格
  • 销售客户管理软件哪个好肇庆网站快速排名优化
  • 网站的表格参数怎么做培训网站制作
  • 开发h5网站开发久久seo综合查询
  • 在网站上做网络课堂软件多少钱个人网站推广平台大全