面向对象的三大特征——封装,继承,多态

本文详细介绍了面向对象编程的三大特性:封装、继承和多态。封装通过限制类的访问权限,提高安全性并简化编程;继承允许子类继承父类的属性和方法,实现代码重用和扩展;多态则让不同对象能执行相同动作,增强了程序的灵活性和可扩展性。通过实例展示了如何在Java中实现这些概念。

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

目录

1.封装

2.继承

3.多态


1.封装

概念: 将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。 在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。

好处: 减少耦合 类内部的实现可以自由地修改 类具有清晰的对外接口

目的:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。

封装的步骤

1.修改属性的可见性,设为private

public class pet {
		// 创建属性并修改可见性
		private String name;
		private int age;
	}

2.创建get/set方法 – 用于属性读写

// 创建get方法
	public String getName() {
		return name;
	}
	// 创建set方法
	public void setName(String name) {
		this.name = name;
	

2.继承

概念:在JAVA中,继承机制规定,子类可以拥有父类的所有属性和方法,也可以扩展定义自己特有的属性,增加新方法和重新定义父类的方法(覆盖/重写)。 ​ 父类也叫基类或超类;子类也叫派生类

继承的五个要点: ​ 1)子类拥有父类所有属性和方法(私有的成员没有“访问权”,但具有“拥有权”) ​ 2)子类具有自己所特有的属性和方法,即子类可以扩展父类没有的属性和方法。 ​ 3)子类还可以以自己的方式实现父类的功能(方法覆盖/重写) ​ 4)构造方法不能被继承,只能被调用。在Java中,使用super关键字调用。 ​ 5)在JAVA中,只支持单一继承,即一个子类只能拥有一个父类

条件:当两个类之间具备“is-a”的关系时,就可以考虑用继承

优点:实现代码的重用性和扩展性。继承使得所有子类公共的部分都放在父类,使得代码得到了共享,这就避免了重复;另外,继承可使得修改或扩展继承而来的实现较为容易。

缺点:继承显然是一种类也类之间强耦合的关系。父类变,则子类不得不变。

使用继承

1.编写父类

class pet {
	//公共属性和方法
}

 2.编写子类,继承父类

class dog extends pet {
	//子类特有的属性和方法
}
class cat extends pet {
	//子类特有的属性和方法
}

 

3.多态

概念:多态表示不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行。 ​ ​ 多态的三个要素: ​ 1)继承/实现 ​ 2)重写:各子类以自己的方式来实现 ​ 3)子类实例化父类对象或实现类实例化接口对象

作用: 应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。 派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。 //多态的真正作用,以前需要用switch实现

使用多态实现思路

1.编写父类

class Pet {
		//吃东西
		public void eat(){		
		}
	}

2.编写子类,子类重写父类方法

class Dog extends Pet {
		//重写父类方法
		public void eat(){
			System.out.println("吃骨头");
		}
	}

3.运行时使用父类类型,子类对象 

class cat extends Pet {
		//向上自然转型
		Pet pet = new Dog();
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值