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

做软件需要网站吗平台营销策略

做软件需要网站吗,平台营销策略,广西梧州藤县疫情,怎样免费建设免费网站C#知识:继承、密封类、密封方法、重写 继承是面向对象的三大特性之一,通过继承能够减少重复代码的编写,有助于提升开发效率。 1、继承 C#不同于C,只支持单继承当子类出现与父类同名的成员时,父类成员被隐藏&#xff0…

C#知识:继承、密封类、密封方法、重写

继承是面向对象的三大特性之一,通过继承能够减少重复代码的编写,有助于提升开发效率。


1、继承

  • C#不同于C++,只支持单继承
  • 当子类出现与父类同名的成员时,父类成员被隐藏(不同于重写)
  • 子类继承父类所有成员(包括私有成员)
  • 个人猜想:子类对象(this表示)中包含了父类对象(base表示)
  • 成员隐藏不会改变子类中父类对象的成员(new关键字不加隐藏也生效)
  • 成员重写会改变子类中父类对象的成员

2、里氏替换原则原则

  • 父类变量容器装载子类对象

3、is和as

  • is用来判断对象是否是指定类或其子类的对象,返回一个bool
  • as用来将对象强转成指定类的对象,成功返回指定类对象,失败返回null
            Animal animal2 = frog;animal2.Run();  //动物跑if (animal2 is Frog)    //青蛙跑(animal2 as Frog).Run();

4、继承中的构造函数

  • 每个类默认有一个无参构造
  • 用户自己定义了有参构造后,默认的那个无参构造会消失
  • 所以一般用户定义有参构造后,还要定义无参构造
  • 可以通过this关键字调用其他重载的构造
  • 执行构造函数时,先执行爷爷类构造,再父类构造,最后子类构造
  • 子类可以通过base关键字来调用父类构造
  • 子类如果没显示调用父类的构造,则会默认调用父类的无参构造

5、运行时多态与方法重写

  • 父类变量(容器)调用指定方法,实际调用的是它指向的子类对象实现的方法
  • 重写之Vob:virtual、override、base
  • virtual成员不能是private的
  • 标记为override的成员不能被标记为new或virtual
  • virtual只要出现一次,其子类后代都可以override
  • override可以重写virtual、abstract、override方法

6、密封类

  • 使用seal关键字修饰的类
  • 无法被继承

7、密封方法

  • seal一般与override一起出现
  • 保护方法不被重写
  • 子类可以用new隐藏父类的密封密封方法

8、完整代码示例:

namespace LearnExtend
{class Creature{public float weight;private float volumn;   //父类私有变量子类无法直接访问public Creature() => Console.WriteLine("生物的无参构造");public Creature(float weight, float volumn){this.weight = weight;this.volumn = volumn;Console.WriteLine("生物的有参构造");}public void Run() => Console.WriteLine("生物跑");public virtual void SelfIntroduce() => Console.WriteLine("我是生物");public virtual void func() => Console.WriteLine("生物密封函数");}class Animal : Creature{public float speed;public Animal() => Console.WriteLine("动物的无参构造");public Animal(float weight, float volumn, float speed):base(weight, volumn){this.speed = speed;Console.WriteLine("动物的有参构造");}public new void Run() => Console.WriteLine("动物跑");  隐藏父类的方法public  override void SelfIntroduce()   //重写父类方法{//base.SelfIntroduce();Console.WriteLine("我是动物");}public sealed override void func() => Console.WriteLine("动物密封函数");}class Frog:Animal{public string color;public new float speed; //隐藏父类成员变量public Frog(){this.color = "绿色";Console.WriteLine("青蛙的无参构造");}public Frog(float weight, float volumn, float speed, string color):base(weight, volumn, speed){this.color = color;Console.WriteLine("青蛙的有参构造");}public new void Run() => Console.WriteLine("青蛙跑");  //隐藏父类的方法public override void SelfIntroduce()    //重写父类方法{Console.WriteLine("波浪浪");}public  new void func() => Console.WriteLine("青蛙密封函数");}internal class Program{//里氏替换原则原则//父类变量容器装载子类对象static void SomeoneSpeak(Creature someone){someone.SelfIntroduce();    //重写 体现了运行时多态someone.Run();  //隐藏 没有体现多态}static void Main(string[] args){//里氏替换原则原则//父类变量容器装载子类对象Frog frog = new Frog(); //生物的无参构造   动物的无参构造 青蛙的无参构造Animal animal = new Animal(1, 2, 3);    //生物的有参构造   动物的有参构造SomeoneSpeak(frog); //波浪浪 生物跑SomeoneSpeak(animal);   //我是动物 生物跑Animal animal2 = frog;animal2.Run();  //动物跑if (animal2 is Frog)    //青蛙跑(animal2 as Frog).Run();}}
}

9、参考资料:

  1. 《唐老狮C#》

本篇结束,感谢您的阅读~

在这里插入图片描述

http://www.dtcms.com/wzjs/309807.html

相关文章:

  • 银川市住房建设局网站营销推广
  • 做网站销售有前景网站seo关键词优化排名
  • 中国空间站组成部分it培训班真的有用吗
  • 怎么样从头开始做网站推广团队
  • 深圳市住房和建设局网站公示谷歌chrome安卓版
  • 外贸行业网站建设百度竞价sem入门教程
  • 网站制作简介app推广平台排行榜
  • 河北网站建设搭建百度的企业网站
  • 菏泽网站建设推广关键词查找工具
  • 重庆智能网站建设价格滕州网站建设优化
  • 做ppt的背景图片网站百度灰色关键词排名代做
  • 东莞工业品网站建设百度广告联盟怎么赚钱
  • google建设网站赚钱哪家公司建设网站好
  • 淘宝客怎么样做自己的网站谷歌推广优化
  • java做面试题的网站专业关键词排名优化软件
  • 免费申请网站永久百度关键词排名十大排名
  • 二手物品交换网站建设超级外链
  • qq介绍网站做兼职是真的吗app注册推广任务平台
  • 中企动力做的网站怎么登陆百分百营销软件官网
  • 139邮箱网页版登录seo软件工具
  • 做独立网站电商需要办营业执照吗淘宝站内推广方式有哪些
  • 做网站用哪个eclipse广州seo网站优化培训
  • 网站公司做的网站被法院传票了怎么办网络推广方式有哪几种
  • 南宁企业网站建设东莞寮步最新通知
  • 蛋糕行业网站建设方案seo关键词词库
  • 深圳布吉网站建设建网站不花钱免费建站
  • 有什么做房屋装修的网站今日最新新闻重大事件
  • asp.net 网站开发的技术优势专业网站优化公司
  • 做企业网站费用抖音seo软件
  • 网站为什么做黄词骗流量12345浏览器