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

本文详细介绍了面向对象编程中的四大核心特性:封装、继承、多态及其实现方式。通过具体的Java代码示例展示了如何利用这些特性提高代码的复用性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

一、面向对象

       在《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("吃骨头");
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值