2515天 Mr.贰呆

唯一自信的就是自己的人品。
寻求王者玩家一起开黑净化峡谷环境​​

【Android】学习札记第3章之面向对象二

发布于 / 1184 次围观 / 0 条评论 / Android / 二呆 /

面向对象学习是一个漫长的过程,不能着急,本章继续学习面向对象的用法,主要内容有this、构造方法间的调用、继承、方法重写Override、super、多态,并用现实实例来说明面向对象。

工具/原料

JDK、eclipse、android SDK、ADT

一、面向对象基础

1、this(每个对象中的一个特殊的引用):

保存当前对象的内存地址,用this可以调用当前对象的成员。

如:this.属性、this.方法()。

当前对象:指的是正在调用的对象。

2、构造方法间的调用:

在一个构造方法中,调用另一个重载的构造方法,通常this需要传参,如this(参数……)。

目的:减少代码重复,便于维护和修改。

调用方法:一般从参数少的方法,调用参数多的方法(参数可以集中处理),有参传参,无参传默认值。

3、继承:

作用:避免代码重用(代码复用),父类的代码,在子类中不用重复编写。

单继承:一个子类只能有一个父类,一个父类可以有多个子类。

4、方法重写Override:

从父类继承的方法,不满足子类的需要,可以在子类中重新编写这个方法,要求方法名、参数列表、返回值相同。

5、super:

构造方法中super()必须放在首行,执行子类的构造方法时,默认调用父类的无参构造方法;

手动调用父类的构造方法使用super(参数列表),子类中手动调用父类的有参构造方法后,只调用父类的有参构造方法,将不执行父类的无参构

造方法。子类重写父类的方法时,super()可以不放在首行,它可以调用父类中同一个方法中的代码。

6、多态:

继承关系中,多个子类可以当作父类来处理,可以互相转换。

作用:多种子类型,可以当作一致的类型处理。

类型转换:

向上转型:子类对象转型成父类类型,转为父类型之后只能调用父类定义的通用方法或成员,若想调用子类扩展的成员或方法,需要向下转型。

向下转型:已经转为父类型的子类对象,转回成子类型,需要强制转型。

二、面向对象练习

1、赛车游戏中的汽车:

定义汽车类Car

属性:int id、String brand(品牌)、String color(颜色)、int weight(重量)

构造方法:Car()、Car(id,brand)、Car(id,brand,color)、Color(id,brand,color,weight)

方法:go()、shop()、turnLeft()、tureRight()

2、坐标点为Point类,添加一个重载的求距离的方法:

求当前点到参数点之间的距离:public double distance(Point p){}

3、创建“人”类,并让学生、员工类继承“人”类Person:

定义“人”类Person

属性:String name、String gender、int age

构造方法:无参Person()、全参Person(name,gender,age)

方法:toString():把成员变量连接成字符串

定义“学生”类Student继承Person

属性:String school

定义“员工”类Employee继承Person

属性:String company

编写测试类,新建Person、Student、和Employee的对象,将三个对象,传递到同一个方法中显示。

4、二维点三维点:

编写一个方法,可以接收二维点对象和三维点对象,并显示点坐标和距原点距离。

注意事项

在面向对象练习中,要关注子类继承父类时的运行顺序。并多次编写练习中的代码,做到举一反三,在此期间慢慢熟悉面向对象中的封装、继承、多态的含义。

sitemap