黑马程序员之面向对象的三大特性(JAVA)

------http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、面向对象

       在《JAVA编程思想》中有一句金典的话——万事万物皆对象。很好的阐述了对象这个词,就是把身边的每一个东西都看成是一个对象。每一个对象都自己的属性以及方法,诸如:姓名、性别、身高等, 则是对象的属性;吃饭、睡觉等, 则是对象的方法。而面向对象的三大特性则是封装、继承、多态。

二、封装

       封装就是将对象的属性和方法归纳在一起,隐藏对象的属性以及实现方法,形成一个可被别人调用的处理单元。封装的目的在于减少程序的开发时间、保护数据不会被无意的修改,增强系统的安全性,使程序更为简洁,更容易扩展。示例:

public class Person {

	private String name;
	private int age;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

三、继承

       继承是面向对象三大特征之一。继承就是从已有的一个类派生出来一个新类, 这个新类不但有自己的属性和方法,同时也有父类的属性和方法。在JAVA中继承是单一的,也就是说只能够但继承,不能多继承,但是可以实现多个接口。使用继承可以减少对具有相同特征事物的重复描述,进而减少了代码的冗余,是程序结构更加清楚明了。同时也增强了程序的重用性。示例:

class A{
	private int money = 10;	//不能被它的子类继承, 因为它是私有的
	public String name;
	public int age;
	
	public A(){
		
	}
	
	public A(String name, int age){
		this.age=age;
		this.name=name;
	}
	
	public void say() {
		System.out.println("我是 : " + this.name);
	}
}


class B extends A{
	public B(){
		
	}
	
	public B(String name,int age){
		super(name,age);
	}
}


四、多态

       多态可以理解为事物的多种形态。在程序中就是同一操作可以产生不同的效果,在多态中父类引用指向子类的对象,也可以接受自己的子类对象。多态是类和类之间的关系,在JAVA中要么是继承,要么是实现接口,并且子类必须重写父类的方法。多态的好处在于大大的提高了程序的可扩展性,降低程序的耦合性。但是它也存在自己的局限性,只能使用父类引用访问父类成员。示例:

public class Person{
	public static void main(String[] args) {
		Animal cat = new Cat();
		cat.eat();		//打印: 吃鱼
		
		Animal dog = new Dog();
		dog.eat();		//打印: 吃骨头
	}
}


abstract class Animal{
	abstract void eat();
}

class Cat extends Animal{

	@Override
	public void eat() {
		System.out.println("吃鱼");
	}
}

class Dog extends Animal{

	@Override
	public void eat() {
		System.out.println("吃骨头");
	}
}




你可能感兴趣的:(JAVA)