您的位置:首页 > 编程语言 > Java开发

Java面向对象必会的知识点--对象的特点总结

2015-07-16 23:05 681 查看
三大特点:继承、多态、封装;

Ⅰ、封装

⑴封装是指把对象的属性隐藏在对象的内部,不允许外部直接访问和修改。也是把过程和数据包围起来;

⑵封装的作用:①提高程序可复用性和可维护性②对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保  护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。

⑶实现封装的步骤:①把对象属性隐藏(设置类的成员变量使用private修饰符)②定义设置器③定义访问器④使用Eclipse完成封装

<span style="font-size:18px;">public class Car {
private String color="黑色";
private boolean running;

/**设置color属性值的设置器方法
* @param color 要设置的 color
*/
public void setColor(String color) {
this.color = color;
}
<pre name="code" class="java">        /**running属性的访问器方法
* @param running 要设置的 running
*/
public void setRunning(boolean running) {
this.running = running;
}
<pre name="code" class="java">        /**
* color属性的访问器的方法
* @return color  颜色参数
*/
public String getColor() {
return color;
}</span>


 /** * @return running属性值,它代表汽车对象的行驶状态,true代表行驶中 */public boolean isRunning() {return running;}}编写主类,演示访问器与设置器的使用
<span style="font-size:18px;">public class Program {

public static void main(String[] args) {
Car whiteCar=new Car();//创建Car类的实例对象
whiteCar.setColor("红色");//修改该实例中color属性
whiteCar.setRunning(true);//设置car对象的行驶状态
System.out.println("color属性:"+whiteCar.getColor());
System.out.println("running属性:"+whiteCar.isRunning());

}

}
</span>


Ⅱ、继承

⒈继承是指从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。类和类之间的继承关系可以用UML符号表示,其中父类又叫超类基类,子类又叫派生类
。以现实生活中理解“它是一种关系”,例如轿车是一种汽车,而汽车又是一种交通工具

2.语法如下:

[修饰符] class 类名 extends 父类名3.例子如下:
Car类:
public class Car {
public String color ="黑色";//颜色
public int speed = 1;//速度
public int level;//档位
/**
* 换挡的方法
* @param num 档位参数
*/
public void gear(int num){
level=num;//档位
speed = 10*level*level;//变速
}
public void drive(){
System.out.println("我是一辆"+color+"的轿车");
System.out.println("现在以时速"+speed+"公里每小时的速度行驶中。");
System.out.println("车档位是:"+level+"挡");
}

}SaloonCar类:
public class SaloonCar extends Car {

}
主类:
public class Program {
public static void main(String[]args){
SaloonCar whileCar=new SaloonCar();
whileCar.color="红色";
whileCar.gear(4);
whileCar.drive();
}

}


Ⅲ、多态

1.多态的特征是表现出多种形态,具有多种实现方式。或者多态是具有表现多种形态的能力的特征。或者同一个实现接口,使用不同的实例而执行不同的操作。通过父类类型的引用,我们可以定义多态数组,多态方法等。

2.多态方法就是数组使用父类声明,而数组中的元素都是子类的实例对象,他们有父类同名的方法,但方法体可以不一样

创建一个四边形类

public class Quadrangle {
public void draw(){
System.out.println("绘制自身图形");
}

}

创建一个正方形

public class Square extends Quadrangle {
@Override
public void draw(){
System.out.println("--------------------");
System.out.println("| |");
System.out.println("| 正方形 |");
System.out.println("| |");
System.out.println("| |");
System.out.println("--------------------");
}

}

创建一个长方形类

public c
4000
lass Rectangle extends Quadrangle {
@Override
public void draw(){
System.out.println("--------------------");
System.out.println("| |");
System.out.println("| 长方形 |");
System.out.println("| |");
System.out.println("| |");
System.out.println("--------------------");
}

}

创建一个平行四边形类

public class Parallelogram extends Quadrangle {
@Override
public void draw(){
System.out.println(" ----------------");
System.out.println(" / /");
System.out.println(" / 平行四边形 /");
System.out.println(" / /");
System.out.println(" / /");
System.out.println(" -----------------");
}

}

创建一个主类

public class Demo {

public static void main(String[] args) {
Quadrangle[] quadrangles = new Quadrangle[3];
quadrangles[0] = new Square();
quadrangles[1] = new Rectangle();
quadrangles[2] = new Parallelogram();
for (Quadrangle obj : quadrangles) {
obj.draw();
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息