×

superclass

superclass(java里什么叫,超类,父类,子类,派生类,基类 , 能用大白话说一下吗网上资料看不明白)

jnlyseo998998 jnlyseo998998 发表于2022-09-25 23:34:29 浏览73 评论0

抢沙发发表评论

本文目录

java里什么叫,超类,父类,子类,派生类,基类 , 能用大白话说一下吗网上资料看不明白

首先,超类、父类、基类都指的是一个东西。而子类和派生类也指代一个东西。

在Java中,super class 代表父类、超类、基类。因为super关键字的原因,所以有些人愿意叫它超类,super有“超级”的意思。那“父类”是从它的继承关系来说的,在Java中父类和子类是一对相对的概念。

我们知道Java中一切皆是对象,所以如果把一个类比作爸爸的话,那么从它里面引申出来的类就是子类。比如:

我定义了一个类:Animal (动物),如果只有这一个类的话,我们就不能叫他父类或者子类或者派生类,这些都不存在。

但是过了一会,我又定义了一个类:Dog(狗),然后通过关键字extends 使得Dog 继承了Animal的一些行为,比如eat(吃)、run(跑),那么Dog就自然而然的有了这两个行为,而不需要再Dog类中再重新写一遍这两个方法。

这样,我们就说Dog是子类,是派生类,而Animal是超类、是父类、是基类(因为Dog是在Animal基础之上派生出来的类)

继承的目的主要是为了重复利用一些共性的代码,例如上面说的eat和run,他们在Animal中定义了之后,所有的子类都可以重复利用,而不需要再重写。

希望我的回答可以帮助到你。

《海贼王》从未登场的贝加庞克为何常被提及对世界有何影响

导语

谢邀,在《海贼王》里面有很多未解之谜,革命军龙和大将绿牛的果实能力,D之意志,路飞的母亲,当然还有连面都没见过的贝加庞克博士,这个被称为“超越人类智慧500年的科学家”,只是在传说当中,却从来没有见到真容。但对海贼剧情的推进,果实能力的理解都有着引导作用。

一、贝加庞克对自己家乡的贡献

优秀的人永远不会败埋没,是金子总是会发光的,在贝加庞克博士没有成名之前,就已经在自己的家乡对动物进行了大改造,可以将动物机械化,这可能与日后对大熊的成为人间兵器,有着很好的启示。

对机关岛进行彻底的改造,改善居民的生活品质,每家每户都可以用上暖气炉。这都是博士对自己家乡带来的福利,侧面也是说明博士对人民的生活质量有着很高的追求,并且喜欢造福于人类,并不是一个自私之人。

二、贝加庞克博士对海军的贡献

1.贝加庞克揭开了恶魔果实的本质

博士是对恶魔果实了解最透彻的人物,发现血统因子并且制造出第一颗人造恶魔果实,现在可能已经可以彻底的解决人造恶魔果实的弊端,使其完美化。这岂是那个半吊子的凯撒能够比得了的,并且让无生命的物质也可以具有果实能力,这将会大大的促进果实设定在海贼里面的发展。

2.将军舰上带上海楼石穿越无风带

在多年前,海军和海贼都是无法穿越过无风带的,因为在那里有着无数的海王类,会攻击经过的船只,即使再强大的战力都无法战胜。所有的海贼都会穿越颠倒山进入伟大航路,但贝加庞克博士发现了海楼石的作用,在军舰上镶嵌海楼石就会发出与大海一样的能量,也是让海军可以自由的畅通四大海洋,不再受到无风带的影响。

3.制造出人间兵器,增强海军战斗力

博士对大熊进行改造,制造出人间兵器,起初的对草帽团造成了很大的威胁,差点就是全军覆没的危险。由此,可见人间兵器对普通海贼的毁灭性的打击,可以替代精英海军对一些海域进行管理和震慑,大幅度的提升海军的综合战斗力。

将和平主义者与海军大将黄猿的闪光果实相结合,发挥出强大的战斗力。并且可以让海军的武器具有果实能力(例如斯潘达姆拥有象剑),对海军来说是很大的助力。

4.协助海军废除七武海制度

海军之所以敢在世界会议上面废除几十年来的七武海制度,很可能是因为贝加庞克博士在科学和机械领域有了大的发现与进步,不再需要七武海来当海军与四皇之间的制衡点了。

三、贝加庞克对革命军未来的影响

1.世界政府强迫贝加庞克进行科研研究

在840话中,有一个小细节就是世界政府认为年轻的博士是危险的存在,将其控制了起来,最后被迫为世界政府工作,研发新武器。这为后期博士反抗世界政府埋下了伏笔,海军和世界政府现在的“正义”对百姓有着很大的伤害,坚持的与博士所要的相背离。

2.贝加庞克与大熊之间的交易

大熊与博士之间进行过交易,博士将大熊作为科研的材料,最终大熊也是失去了自己的意识,但博士应该也是付出相应的价值。那就是同意加入革命军,成为反抗天龙人和世界政府的一员。

3.贝加庞克与古代文明的联系

古代文明的科技很发达,这是博士一直很崇拜的地方,自己在未来国的实验室很可能就是800年前古代文明遗留下来的,自己从中得到了很多知识,对自己了解恶魔果实有着很大的帮助。

革命军所追求的自由和为了人民的和平不断努力的理想是符合贝加庞克的意愿的,这也是促成两者后期进行合作的原因之一。

综上所述:贝加庞克博士在海贼里面有着很重要的角色,作为一个旁白者不断的推进着剧情的发展。虽然在海贼里面从来没有露过面,但很多发明已经影响到海贼的进程。后期很可能会加盟革命军,帮助龙反抗天龙人的统治。

在海贼的后期必然会发生大的战争,科学对于战争将会发挥巨大的作用,并且现在科学在海贼里面的比重在不断的加大 ,从弗兰奇制造出万里阳光号,到山治获得战斗服,和之国凯多的人造恶魔果实军团,大蛇的武器工厂都是科学力量的体现。尾田老师也是亲承,科学将会发挥日益强大的作用。

这里是侃侃说动漫,感谢您的阅读,每天分享海贼的相关分析。您的点赞和关注将是我不断努力和更新的动力。疫情当前,祝愿您和您的家庭健康和幸福,武汉加油,中国加油。

如何理解JavaScript的原型和原型链

JavaScript中的原型和原型链都是实现OOP的手段,OOP在JavaScript中的具体实现如下:


对象(Object)就是属性(Property)的集合,特别的,称值(Value)为函数(Function)的属性为方法(Method)。将相似对象的共有属性提取出来聚集在一起就形成了类(Class),这些对象称为该类的实例(Instance)。同样,将相似类的共有属性提取出来聚集在一起也形成新的类,这个类是前面那些类的超类(Super Class),前面那些类是这个类的子类(Sub Class)。多个超类还可以作为子类聚集出一个新的超类,这个过程会一持续下去,直到出现 名为 Object 的类,它的超类为空(Null)。

类除了是共有属性的聚集外,还担负对象工厂(Object Factory)的职责。一个类的实例对象由类的构造函数(Constructor)负责创建。构造函数负责两件事:

  • 创建对象;

  • 初始化该对象;

因为前者的实现 已经由 Object.create 方法提供,所以构造函数真正需要完成的就是初始化对象,这里又分为两件事情:

  • 让对象具有类所聚集的共有属性;

  • 根据参数,对某些对象的属性进行特化;

对于第二件事情,没什么说的,就是将特化的属性添加到 待初始化的对象中去。对于第一件事,也可以仿照后者的实现方法,但是这不是一个明智的选择,因为这些共有属性的值在大多数情况下是不会发生改变的。JavaScript选择的方法是:

  • 以这些共有属性为属性并赋予默认属性值,创建一个原型(Prototype)对象;

  • 初始化时,将原型对象赋予 待初始化对象的特殊属性: __proto__ ;

也就是说,一个类对应一个原型对象,在初始化时,用 __proto___ 将实例对象 和 原型对象连接起来。

特殊属性 __proto__ 不仅负责连接实例和原型,还负责连接子类和超类的原型对象,以实现类之间的继承关系。这样以来,一个对象的类原型,超类原型,超类的超类原型, ... 就由__proto__连接成一个“链”,称为该对象的原型链。允许,一个对象的 __proto__ 属性为 null,这表明该对象没有原型链,Object 类的原型 Object.prototype 就是这样的。

为了让原型初始化实例的方法真正得以实现,必须在对象的属性访问上进行配合:

  • 读取属性值:先在对象中查找该属性,如果存在则返回其值,否则,在原型对象中查找,如果存在则返回其值,否则,在原型对象的原型对象中查找,...,直到原型链为 null,表示该属性未定义,返回 undefined;

  • 给属性赋值:在对象中查找该属性,如果存在则对其赋值,如果不存在则在对象中创建该属性然后对其赋值;

  • 删除属性:如果该属性在对象中存在则删除它,否则什么都不做。

这套访问机制保证了:对象属性可以覆盖(去覆盖)原型属性,但是不会改变原型属性,这就是OOP的多态性。

构造函数在创建对象时需要用到原型对象,它是通过 prototype 属性知道其对应类的原型对象的。另外,为让实例对象知道是谁创建了它,它的constructor 属性会 “抓着” 构造函数。类的原型对象也被认为是该类的构造函数构创建的。

接下来我们看一下实现OOP的具体代码:

首先,不考虑继承关系,声明一个类的范例代码如下:

注:特殊属性 __proto__ 是 undocumented 应该避免直接使用,正式的做法是调用 Object.create 方法,它的参数就是 所要创建对象的原型对象。注:遵照 OOP语言的传统,构造函数的名字就是类的名字。

当一个函数被调用时,如果 this 上下文(Context) 绑定的是一个普通对象 (而非 null 或 全局对象 window),则这个函数就是作为该对象的方法被调用。

当我们用new表达式创建对象时,构造函数就是以方法的方式被new调用:

上面范例代码中构造函数开始 和 结束部分 所作的事情,new 表达式,就替我们干了:

new 会创建一个 空白对象,让其,原型链绑定 构造函数的prototype 属性, 让其,constructor 属性 绑定 构造函数;然后 以该对象 为 this 上下文 调用 构造函数,如果构造函数没有返回值,则以 空白对象 作为 创建的对象。写成代码就是:

被 new 调用的构造函数,已经转变为构造方法,但为了让其还保留构造函数的能力,一般这样实现:

接下来,考虑类的继承。

一个实例对象的初始化过程是:先被超类的构造函数初始化,之后才被子类的构造函数初始化,这样才能达到子类覆盖超类的要求。基于此,范例代码如下:

写到这里,我们发现又是一堆不得不写的规范代码。于是早期很多前端框架,都纷纷的提供了以上代码的封装方案,旦各自为政,没有统一的解决方法,直到 ES6 直接提供了 class 语法,整个事情才算告一段落:

注:JavaScript中的属性分为 存储属性 和 访问属性(分别对应传统OOP语言 中的 字段(Field) 和 属性), class 中只能声明 原型中 方法 和 访问属性,而在 原型中 声明存储属性 还得是老办法。

class 表达式 只是语法层面的封装,最终依然是基于原型和原型链这套实现。


虽然我们现在已经不需要按照那套复杂的规范声明类了,但是了解原型和原型链对应深入理解 JavaScript的OOP机制依然十分重要。

最后,给出 JavaScript 内建对象 之间的 原型链关系图(粗箭头是 __proto__ 属性,细箭头是 prototype 属性,虚箭头是 constructor 属性):

( Value: Number, String, Boolean; Symbol,Container: Array, Set, Map)

你见过的大学生真实创业经历,成功了吗可以分享下经历吗

见过全是上我办公室来卖东西的。我想说创业创业。都念大学了可否跟自身专业相关的创业。不要像普通推销员一样没有任何创意。我做横向科研也是天天跑企业推销。性质是一样的,但是最起码要收获不是。不为了金钱也得为了锻炼自己的专业能力。