知识点:理解多态的概念 、掌握使用虚方法实现多态、 理解抽象类和抽象方法

 

1、理解多态

提出问题:我们上一课学到的【继承】,知道子类从父类那里继承的方法时完全一致的,如项目实践里,当我们使用不同的游戏道具时,他们都调用了父类的方法,并没有体现出不同游戏道具之间的区别。

解决问题:当子类从父类那里继承某个方法之后,子类对于这个方法有不同的响应方式,成为多态。

 

1.1  什么是多态

           多态(polymorphism)可以理解为多种形态,自然界的物质都存在多种形态,如水就有液态、固态和气态三种。而面向对象中的多态,主要和对象的操作有关,不同的对象进行同一个操作时,可以有不同的实现方法。举个例子,人类都需要吃东西,而不同国家的人有不同的吃东西方式,中国人用筷子,美国人用刀叉,印度人用手。

通俗理解:通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态。

 

1.2   实现多态的方式

  • 使用虚方法+重写(用的少,C#特有的方式)
  • 使用抽象方法+抽象类  重写(用的多 ,共性)
  • 使用接口实现 (用的多,面向接口编程)

 

2、使用虚方法实现多态

虚方法:可以被子类重写的方法,称为虚方法。

使用虚方法,实现多态的实现步骤:

1)将父类中的方法(子类需要重写的方法)使用virtual关键字,定义成虚方法

public virtual 返回值类型 方法名(参数列表)
{//方法体
}

2)在子类中,对父类的方法使用override关键字,进行重写(覆盖+自己的特性)

public override 返回值类型 方法名(参数列表)
{//方法体
}

注意:进行重写时,子类的方法名和参数列表必须和父类方法相同 。

 

 

示例练习1:使用虚方法实现多态(模拟不同国家的人吃饭的方式)

第一步,新建项目:①在VS中新建控制台应用(.NET Framework),这里默认命名为【ConsoleApp6】,单击【确定】按钮,自动完成创建,并打开项目。②在右侧【解决方案资源管理器中】,右键单击项目名称【ConsoleApp6】,依次点击【添加】→【类】,在弹出的【添加新项】窗口中,给类起一个名字Person.cs,然后点击【添加】。

第二步,编写人类:Person类添加成功后,系统会默认打开Person.cs文件,在该文件里声明一个Name属性、一个有参构造方法、一个虚方法Eat()

    class Person{public string Name { get; set; }//声明一个姓名属性public Person(string name)//声明一个有参构造方法{this.Name = name;}public virtual  void Eat()//使用virtual关键字,声明一个虚方法{Console.Write(this.Name+"来吃饭了!");}}

第三步,添加中国人类:在当前项目中添加一个中国人类Chinese,在系统会默认打开的Chinese.cs文件中,编写中国人类相关信息

    class Chinese : Person    //继承父类Person{public Chinese(string name) : base(name)    //使用base关键字调用父类的有参构造方法{}public override void Eat(){base.Eat();Console.WriteLine(this.Name+"是中国人,习惯用筷子吃饭");}}

第四步,添加美国人类:在当前项目中添加一个美国人类American,在系统会默认打开的American.cs文件中,编写美国人类相关信息

第五步,添加印度人类:在当前项目中添加一个印度人类Indian,在系统会默认打开的Indian.cs文件中,编写印度人类相关信息

第六步,在主程序中写代码:在Program.cs文件中的Main方法里,编写代码new一个集合,并添加数据,遍历输出集合里的数据。

预览效果:

        static void Main(string[] args){List<Person> persons = new List<Person>()//声明一个Person类型的集合,用初始化器批量添加数据{new Chinese("王迪"),           //new一个Chinese类的对象,王迪new American("jack"),         //new一个American类的对象,jacknew Indian("jhon")             //new一个Indian类的对象,jhon};foreach (Person outItem in persons)//将集合persons里的数据,遍历输出{outItem.Eat();//调用对象的Eat()方法}Console.ReadLine();}

代码分析:我们这里使用初始化器先初始化对象,然后初始化集合, new Chinese("王迪");将子类对象 赋值给父类对象时,子类对象会自动转换为父类对象,这个过程也叫“向上转型”。

接着我们将三个不 同类型的对象,添加到 Person 类型的泛型集合中,对集合进行遍历,调用所有对象的 Eat 方法。运行时 编译器会根据具体对象的类型,决定调用哪种 Eat()方法,从而实现了类的多态性。

 

3、使用new关键字实现多态

          有些情况下,我们只想在子类中定义一个名字和参数和父类一样的方法,但是又不想对父类方法进 行重写,又怎么办呢? 可以使用 new 关键字,父类的方法不使用 virtual 或 abstract 定义,子类的方法前面加上 new。

示例练习2:使用new关键字实现多态(在示例1的基础上修改)

修改示例练习1:去掉 Person 类中的 virtual 关键字,将子类中的 override 改为 new。

运行结果图:

 

           我们看到最后调用的 Eat 方法是父类中的实现。也就是说 new 的作用是在子类中定义了一个新的方 法,没有覆盖父类的方法。那么这里为什么调用的是父类的方法,子类中的方法哪去了呢?因为我们定义对象类型是 Person 父类类型,所以调用的是父类的 Eat 方法,如果要调用子类的 Eat 方法,定义子类类型的对象就可以了。

American person2 = new American("奥巴马");
person2.Eat();

运行结果图: 

 

 

4、多态在方法中的应用(里氏替换原则)

          通过前面的示例我们知道:可以将子类对象转换为父类对象,也可以说子类对象可以替换父类对象, 但是反过来父类对象却不能替换子类对象,这种原则叫“里氏替换原则(Liskor Substitution Principle)”。

          我们在创建方法时,可以将参数定义成父类类型,而在调用方法时传入子类的对象,从而实现多态。

          以旅行为例,我们都知道旅行要乘坐交通工具 Vehicle,交通工具也有很多种类(汽车 Car、飞机 Plane、 轮船 Ship 等),游客 ( Traveler )在开始旅行 ( Travel )时,会由具体的交通工具运送 ( Transport ) 到目的地。

示例练习3:模拟旅行

第一步,新建项目:①在VS中新建控制台应用(.NET Framework),这里默认命名为【ConsoleApp6.1】,单击【确定】按钮,自动完成创建,并打开项目。②在右侧【解决方案资源管理器中】,右键单击项目名称【ConsoleApp6.1】,依次点击【添加】→【类】,在弹出的【添加新项】窗口中,给类起一个名字Vehicle.cs,然后点击【添加】。(同示例1的第一步相同)


第二步,编写交通工具类:Vehicle类添加成功后,系统会默认打开Vehicle.cs文件,在该文件里声明一个虚方法Transport()

    /// <summary>/// 交通工具类/// </summary>class Vehicle{//使用virtual关键字,声明一个虚方法Transport()public virtual void Transport(){Console.WriteLine("交通工具运送乘客出发了……");}}

第三步,添加汽车类:在当前项目中添加一个汽车类Car,在系统会默认打开的Car.cs文件中,使用override关键字重写父类的虚方法

    /// <summary>/// 汽车类/// </summary>class Car : Vehicle    //继承父类Vehicle{public override void Transport()      //使用override关键字,重写父类的虚方法{Console.WriteLine("汽车带你路上走");}}

第四步,添加飞机类:在当前项目中添加一个飞机类Plane,在系统会默认打开的Plane.cs文件中,使用override关键字重写父类的虚方法

第五步,添加轮船类:在当前项目中添加一个轮船类Ship,在系统会默认打开的Ship.cs文件中,使用override关键字重写父类的虚方法

第六步,添加旅行者类:在当前项目中添加一个旅行者类Traveler,在系统会默认打开的Traveler.cs文件中,声明一个旅行的方法Travel(),该方法需要传入一个参数,参数的数据类型是Vehicle(父类对象)

    /// <summary>/// 旅行者类/// </summary>class Traveler{//旅行public void Travel(Vehicle vehicle)     //  该方法需要传入参数,数据类型是Vehicle类型{Console.WriteLine("世界这么大,我要去看看");vehicle.Transport();    //调用对象的Transport()方法}}

第七步,在主程序中写代码:在Program.cs文件中的Main方法里,编写代码new一个旅行者对象,并调用方法。

        static void Main(string[] args){Traveler traveler = new Traveler();     //new一个旅行者对象//乘坐不同的交通工具traveler.Travel(new Car());     //调用旅行者对象的Trave方法,并将子类Car对象,作为参数传入traveler.Travel(new Plane());traveler.Travel(new Ship());Console.ReadLine();}

预览效果:

案例分析:我们看到旅行者对象调用旅行方法 Travel 时,传入了不同的交通工具对象,程序运行时根据具体的交通工具类型,执行了不同的运输方法,从而实现多态。

总结:使用虚方法实现多态的步骤:

1)将父类方法使用 virtual 定义为虚方法

2)在子类中使用 override 定义方法重写父类方法

3)使用子类时: ①将子类重写的方法参数定义为父类类型;②调用时传递子类对象(使用子类对象替换父类对象)

4)运行时程序会按具体子类类型,调用不同子类的方法

 

 

5、使用抽象类和抽象方法实现多态

在示例练习3中,我们定义了交通工具类:

    /// <summary>/// 交通工具类/// </summary>class Vehicle{//声明一个方法Transport()public virtual void Transport(){Console.WriteLine("交通工具运送乘客出发了……");}}

           交通工具类中的运送方法 Transport 有默认的实现,其实这个实现实际意义不大,因为交通工具是个抽象概念,不知道它是何种交通工具的情况下,是没办法进行具体的运送工作的。

           如果我们希望在父类中,只定义出某个方法,而不想实现它,把具体的实现交给它的子类去做,这种情况下我们就会使用抽象类和抽象方法。 

 

5.1  什么是抽象类、抽象方法

5.1.1  抽象类

概念:抽象类是表示抽象概念的特殊类。如果一个类不与具体的事物相联系,而只是表达一种抽象的概念,仅仅是作为派生类的一个基类,这样的类就是抽象类。抽象类使用关键字abstract来定义,抽象类不能被实例化,一个抽象类可以同时包含抽象方法和非抽象方法。比如说动物是抽象的,狗是具体的。

通俗理解:非常“抽象”的类。举个例子:生活中我们说院子里有只狗或猫,你会有一个概念,如果说有只动物就比较抽象了,如果说有个生物,那就更抽象了。

解释:经过多次抽象得到的类,一般是抽象类。这个类没有实例化的必要,不用new,用来做父类的。

语法:

//抽象类
[访问修饰符] abstract class 类名
{类成员
}

注意:

① 类一旦被定义成抽象类,那它就不能new了,它专门用来被继承(作为父类)。

② 抽象类不能是密封的或静态的(不能使用sealed或static关键字定义抽象类),因为定义密封类或静态类不能被子类继承,而不能被继承的抽象类是没有意义的。

③ 抽象类中依然可以正常的定义字段、属性、方法。

 

 

5.1.2  抽象方法

概念:在抽象类中也可以使用关键字absract定义抽象方法,要求所有的派生非抽象类都要重写实现抽象方法。引入抽象方法的原因在于抽象类本身是一种抽象概念,有的方法并不需要具体实现,而是留下来让派生类重写实现。抽象方法不能有方法体,抽象类中的所有抽象方法必须在子类中重写override。

语法:

//抽象方法
[访问修饰符] abstract 返回值类型 方法名(参数列表);

注意:

① 抽象方法不能声明方法体,用分号作为结束,不能有大括号{}。

② 抽象方法,只做声明,不做实现

③ 非抽象子类继承之后,必须强制重写父类的抽象方法。

④ 抽象方法只能放在抽象类中。

 

5.1.2  使用抽象类和抽象方法,实现多态

实现多态的步骤:

1)把父类定义成抽象类,需要被重写的方法,写成抽象方法

2)子类继承之后,重写父类的抽象方法,重写时加入子类自己的特性

 

5.2   抽象方法的应用

        抽象方法和虚方法都可以实现多态,那么什么情况下使用抽象方法呢?有时候父类中的某些方法的实现依赖于具体的子类类型,例如动物类有运动的方法,但是不知道具体是什么动物,无法定义出如何运动(是爬、是跳还是跑?)。这种情况下,我们就定义抽象方法来约束子类行为,由子类来具体实现方法。

 

 

示例练习4:模拟动物运动

第一步,新建项目:在VS中新建控制台应用(.NET Framework),这里默认命名为【ConsoleApp6.2】,单击【确定】按钮,自动完成创建,默认打开在Program.cs文件。(这里我们简化演示,将所有的类都写在Program.cs文件中。)

第二步,定义抽象类:在Program.cs文件中,使用abstract关键字定义一个抽象类Animal作为父类,在父类中定义一个抽象方法。

第三步,定义子类:在Program.cs文件中,定义三个子类:Dog、Bird、Fish,在子类中都必须重写父类的抽象方法,重写时,可以根据子类加入自己的特性。

第四步,在主程序中写代码:在Program.cs文件中的Main方法里,编写代码,new三个子类对象,并调用子类对象的方法。

运行效果:

关键代码:

namespace ConsoleApp6._2
{//使用abstract关键字,定义一个抽象类Animalabstract class Animal{public abstract void Move();        //定义一个抽象方法Move(),注意抽象方法没有方法体}//定义子类Dogclass Dog : Animal{public override void Move()         //重写父类的抽象方法{Console.WriteLine("小狗跑了起来");}}//定义子类Birdclass Bird : Animal{public override void Move(){Console.WriteLine("小鸟飞了起来");}}//定义子类Fishclass Fish : Animal{public override void Move(){Console.WriteLine("小鱼游了起来");}}class Program{static void Main(string[] args){Animal dog = new Dog();         //将子类对象new Dog(),赋值给父类对象Animal dogdog.Move();        //编译器根据具体对象的类型(子类Dog),决定调用那种Move方法Animal bird = new Bird();bird.Move();Animal fish = new Fish();fish.Move();Console.ReadLine();}}
}

 

6、虚方法和抽象方法比较

               虚方法          抽象方法
关键字 virtual
关键字 abstract
必须有方法体
不能有方法体
可以被子类 override
必须被子类 override
可以在任何非密封类中声明
只能在抽象类中声明

要实现多态时,用虚方法?还是抽象方法?

  • 一般都是直接使用抽象类+抽象方法,实现多态。
  • 虚方法本身有方法体,所以如果有共性操作,可以用虚方法。先放在父类的虚方法中,子类继承之后这部分代码可以复用。
  • 需要定义抽象类,使用抽象方法,有强制约束的效果。

 

本课总结

  •  面向对象中的多态,主要和对象的操作有关,不同的对象进行同一个操作时,可以有不同的实现方法。
  •  C#中可以使用虚方法实现多态,首先我们将父类中的方法定义成虚(virtual)方法,在子类中 对父类的方法进行覆盖(override),也叫重写。
  •  可以将子类对象转换为父类对象,也可以说子类对象可以替换父类对象,但是反过来父类对象 却不能替换子类对象,这种原则叫“里氏替换原则(Liskor Substitution Principle)”。
  •  如果我们希望在父类中,只定义出某个方法,而不想实现它,把具体的实现交给它的子类去做, 这种情况下我们就会使用抽象类和抽象方法。
  •  使用抽象类时要注意:
    •  抽象类不能实例化
    •  抽象类不能是密封的或静态的
  •  面向对象三大特性:
    •  封装:保证对象自身数据的完整性和安全性
    •  继承:建立类之间的关系,实现代码重用,便于程序扩展
    •  多态:不同的子类对象调用相同的方法,有不同的实现方式

 

 

 

 

=============这里是结束分割线=================

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 24.jdbc-Statement 接口

    1.执行DDL语句public class Demo1 {private String url = "jdbc:mysql://localhost:3306/day17";private String user = "root";private String password = "root";/*** 执行DDL语句(创建表)*/@Testpublic void test1(){Statement stmt = null;C…...

    2024/4/16 3:02:26
  2. ftp客户端软件,8款最受欢迎的ftp客户端软件

    对于ftp客户端软件,你了解多少?其实一般人也接触不到这种软件。ftp客户端软件主要是针对从事网站管理的工作人员比较有利的一款工具。可以帮助他们快速的解决工作中的问题。方便、简单、快捷又明了的解决问题,下面有六款ftp客户端软件的介绍。 第一款:IIS7服务器管理工具 这…...

    2024/4/16 3:01:50
  3. 南开2020年9月考试《毕业实践报告(旅游管理)》期末“作业考核(线上)”考核要求

    南开大学成人高等教育** 高起专毕业报告 学 号: 填写准确的学号 姓 名: 学 院: 现代远程教育学院 学习中心: 填写准确的学习中心全称 教学站: 直属学习中心的学生不用填写 专 业: 旅游管理 完成日期: 高起专毕业报告要求 毕业报告写作是专科教学计划的重要…...

    2024/4/16 3:01:50
  4. Dubbo与Spring整合项目_2

    一、创建公用的部分提出到一个公共的项目中gmail-interface项目结构如图pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4…...

    2024/4/1 3:02:33
  5. 五周从前端入门到前端开发工程师

    作为一名大三开始学习前端,如今已经工作三年的码农,跟大家谈谈我的前端自学之路,以及自己的学习方法,和前端学习资源推荐。本篇为前端入门指导文,各位大神请避让。前端行业这几年发展飞速,各种框架层出不穷,很多开发者都戏谑说自己学不动了。确实,我们应该充分利用自己…...

    2024/4/16 3:03:27
  6. scrapy爬取数据到数据库,报错:「class ‘pymysql.err.InternalError‘」: (1241, ‘Operand should contain 1 column(s)‘)

    scrapy爬取数据到数据库,报错:[Failure instance: Traceback: <class ‘pymysql.err.InternalError’>: (1241, ‘Operand should contain 1 column(s)’)这种问题出现的原因是因为你在解析数据的时候出现的问题,不是你解析错误,而是他解析成了列表。 以1688商品名称…...

    2024/4/16 3:03:22
  7. Linux防暴力破解

    一、暴力破解解决综合方案 1、使用堡垒机登录(Jumpserver) 2、ssh远程登录端口设置为5位数(不能超过65534) 3、sshd服务,直接编写脚本检查/var/log/secure 内登录失败次数超过某个阈值的ip并将它添加到/etc/hosts.deny(fail2ban的优点更多) 4、禁止root登录设置(Pe…...

    2024/4/16 3:03:32
  8. 操作系统习题(下)

    操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统是计算机学生必修课程之一,也是计算机考研的必考项,因此,掌握好操作系统对于工作以及日后考研学习都十分重要。1、用户程序使用系统调用请求操作系统服务。 2、存贮管理应实现的功能是:…...

    2024/4/16 3:03:07
  9. 不吹不黑,这的确是我看过关于微服务架构最好的文章!

    本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景。 要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应…...

    2024/5/2 8:48:59
  10. 智慧旅游背景下的景区新模式建设方案研讨

    景区经营权管理方法实践、县域旅游基本模式以及智慧旅游一直是业内探究的关键。学术界对景区经营权出让探究比较多,如阎友兵探究了根据实物期权基础理论的景区经营权出让期限制度分配;郭淳凡探究了景区经营权出让下旅游资源开发鼓励管束契约书设计方案。但这种探究多集中化在2…...

    2024/4/16 3:03:07
  11. 外行人学习前端开发有前途吗?现在前端开发行情怎么样?

    对于学习前端开发有前途吗?行情怎么样,好就业吗?这样的问题相信都看了很多很多,每个人的回答都有些差别。但是唯一的一点肯定的,学习前端的前景是很不错的。 接下来就来跟大家分享一下2020年Web前端的发展趋势如何?熟悉web的小伙伴们都了解,自2018年是前端技术的发展相对…...

    2024/4/16 3:03:17
  12. Python办公自动化|一键生成数据分析报告

    前两天逛知乎的时候看到这样一个提问,Python自动化办公能做那些有趣或者有用的事情?看了一下这个提问,我想这可能是很多职场人面临的困惑,想把Python用到工作中来提升效率,却不知如何下手?Python在自动化办公领域越来越受欢迎,重复性工作让Python去做将是一种趋势。 看了…...

    2024/4/16 3:03:27
  13. 【转载】除了Teamviewer,这些优秀的远程软件你用了吗

    说起远程协助软件,Teamviewer绝对是当之无愧最优秀的远程工具之一,其功能强大,速度极快,且有着良好的用户体验和口碑,一直是大部分人远程协助的首选工具~~然而Teamviewer的商业授权费用极高,个人用户虽然可以选择免费模式,但对于商业使用行为的判别,Teamviwer似乎又有些…...

    2024/4/16 3:03:07
  14. 【华为云技术分享】技术干货丨通过wrap malloc定位C/C++的内存泄漏问题

    摘要:用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰。本文提供一种通过wrap malloc查找memory leak的思路。用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰。本文提供一种通过wrap malloc查找memory leak的思路,依靠这个方法,笔者紧急解决了内存…...

    2024/4/16 3:03:17
  15. PCL——(7)点云滤波

    文章目录一、简介二、PCL中的滤波器2.1 直通滤波器2.2 使用VoxelGrid滤波器对点云进行下采样2.3 statisticalOutlierRemoval滤波器移除离群点2.4 使用参数化模型投影点云2.5 从一个点云中提取索引(子集)2.6 使用ConditionalRemoval 或RadiusOutlinerRemoval移除离群点2.6.1 Ra…...

    2024/4/16 3:03:22
  16. 将研发网和办公网隔离后 数据交换方式如何选择?

    绝大多数科技研发型企业为了防止内部核心数据泄露,都实施了内外网隔离,甚至在内部网络中又划分出了研发网、办公网、生产网等。然而隔离的网络,也阻断了某些需要进行跨网数据交换的特殊业务,使得跨网业务无法顺利开展。在企业的日常业务中,存在大量需要在不同网络之间进行…...

    2024/4/16 3:03:12
  17. Python自学之路(一): 注释、算数运算符、变量基本使用

    认识 Python Python 的创始人为吉多范罗苏姆(Guido van Rossum)。没错!就是下面这位牛人下载和安装 第一步:安装Python 的集成工具Anaconda3,官网下载:https://www.continuum.io,下载完安装。 第二步:安装开发工具Pycharm,官网下载:https://www.jetbrains.com,下载完…...

    2024/4/28 1:59:33
  18. kerindaxlar Xopurluk维吾尔语维文理论驾考,科目一四驾驶证学车驾照考试题库软件

    维语学车证 是一款主要为维吾尔语驾驶理论考试的学员而准备的软件...

    2024/4/29 1:18:08
  19. 【ENVI】遥感图像处理实验

    实验一 ENVI软件的安装与认识一、实验目的1、学习ENVI软件的安装。2、初步掌握ENVI遥感处理软件的操作与使用。二、实验内容1、下载ENVI5.3遥感处理软件,了解试用版的安装过程。2、参考ENVI遥感处理软件手册熟悉软件的操作和使用。三、操作手册参考《ENVI遥感图像处理方法(第…...

    2024/4/29 2:35:36
  20. 赌场游戏系统面临着嵌入式设计挑战

    赌场游戏系统面临着嵌入式设计挑战 Next-generation casino gaming systems present myriad embedded design challenges 高清视频和游戏内容向从家庭影院、个人电脑和控制台系统到平板电脑和智能手机的消费设备的传播速度不断加快,这使得竞争更加激烈,以吸引和留住消费者的注…...

    2024/4/28 19:50:17

最新文章

  1. IDEA基于Maven构建项目

    IDEA基于Maven构建项目 一、Maven简介 Apache Maven 是一个软件项目管理和理解工具。基于项目对象模型的概念&#xff08;POM&#xff09;&#xff0c;Maven 可以从中心信息中管理项目的构建、报告和文档。 Apache Maven 可以用于构建和管理任何基于 Java 的项目。 下载地址…...

    2024/5/2 17:01:12
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. ChatGPT 初学者指南

    原文&#xff1a;ChatGPT for Beginners 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 介绍 如果您一直关注新闻和趋势&#xff0c;您可能已经在某个地方读到或听到过&#xff0c;Sam Altman 的生成式人工智能平台 ChatGPT 已经将人工智能推向了一个新的高度 - 许多…...

    2024/5/1 13:17:51
  4. 【C++】类和对象①(什么是面向对象 | 类的定义 | 类的访问限定符及封装 | 类的作用域和实例化 | 类对象的存储方式 | this指针)

    目录 前言 什么是面向对象&#xff1f; 类的定义 类的访问限定符及封装 访问限定符 封装 类的作用域 类的实例化 类对象的存储方式 this指针 结语 前言 最早的C版本&#xff08;C with classes&#xff09;中&#xff0c;最先加上的就是类的机制&#xff0c;它构成…...

    2024/5/1 13:18:37
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/2 9:28:15
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57