请问有没有啥好的面向对象的例子( 二 )
到这里,就牵扯出一个最基本的面向对象概念:继承。
子类可以拥有父类所有的非私有化属性、方法。就是说无论你多高级的武器,其实他都是继承自最垃圾的那个武器。
后来,你又打到了一把金色武器,你发现金色武器和蓝色武器相比起来,只是多了几个属性而已,本质上其实并没有发生变化,但是为了严格遵面向对象,你还是要建立一个Java类——金色武器。
它的代码描述是:/** * 金色武器继承自蓝色,并且重写了属性和宝石的数量限制 * * @author x\u0026#39;ming * @version 1.0.0 * @since Created by Administrator on 2016/12/1. */public class GoldWeapon extends BlueWeapon { private Property mainProperties = new Property;//金色最多可以有6个随机属性 private Gem gems = new Gem;//金色最多可以镶入3颗宝石 @Override public Property getMainProperties() { return mainProperties; } @Override public void setMainProperties(Property mainProperties) throws Exception { if (mainProperties.length\u0026gt;6){ throw new Exception("最多可以有6个随机属性"); } this.mainProperties = mainProperties; } @Override public Gem getGems() { return gems; } @Override public void setGems(Gem gems) throws Exception { if (gems.length\u0026gt;3){ throw new Exception("最多只能有3个宝石被嵌入"); } this.gems = gems; }}到了这里,我们又引申出一个概念:方法的重写——即多态,我们可以在子类中对父类的方法进行重写(@Override),这样我们就改变了父类原先的方法定义。
封装、继承、多态。
封装——将一件事物通过属性拆分用程序语言定义它,一般我们需要对自己想要定义的事物做一个中度的抽象——我们追寻他们的共同点并统一定义这些共同点的描述。
继承——子类可以拥有父类的所有非私有化成员变量和方法,这方便我们对一件事物进行扩展。
多态——子类可以在自己的实现中重写父类的方法,使得子类更加灵活。
■网友
面向对象的例子,有属性,有方法,例子是,一只猫,属性:名字,叫法,方法:回应,吃东西。解释:属性指的他的特性,一些标配,方法指的有什么功能,能做什么。面向对象思想就是和我们人的一般思维一样,把任何一切都抽象成一个个对象,最简单就是活的,物质那些对象,抽象一点的话就是事情,想法这些停留在思想上的抽象成一个个对象
■网友
拿人举一个简单的例子吧,我们有头,身体,脚这些属性。我们有说话,跑步等行为。
如何利用软件设计将人抽象成对象呢?public class Person { //头部 private String head; //身体 private String body; //脚 private String foot; public Person(String head,String body,String foot){ this.head = head; this.body = body; this.foot = foot; System.out.println("我被创建,我是"+head+body+foot); speak(); run(); } //说话 private void speak(){ System.out.println("我喜欢说话"); } //走路 private void run(){ System.out.println("我擅长奔跑"); } public static void main(String args){ //创建一个人 Person p = new Person("小脑袋","瘦瘦的身体","大长腿"); }}
推荐阅读
- 银行高管的薪酬结构图表最新的,请问在哪里可以收集
- 为啥知乎上普便有一种【我在北上广深打工,所以拥有更好的视野】这样的错觉
- 趣头条|你我皆风华正茂,拥有广汽三菱奕歌的日子是美好的
- 有啥方法,网站,项目可以自己练习计算广告学
- 在上海陆家嘴附近工作,请问去哪边租房会比较好
- 坐标合肥,请问在哪里能捕捉到程序员这种生物他们大都出现在哪里呢
- 孕妇到了预产期,小孩还没有入盆,请问是该等下去还是直接剖腹产
- 言论自由|
- 100W——150W有啥好的车
- 想做手机网游代充,请问要去哪里找货源
