[GN] 面向对象程序三大特性:封装、继承、多态

文章目录

  • 封装
    • 访问限定符
    • 作用:
  • 继承
    • 单继承:
    • 作用:
  • 多态
    • 多态实现条件:
    • 多态操作的两种实现方式:


封装

把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义好的接口。

访问限定符

  • public:被public修饰的内容在当前项目中都可见,描述公共的,公开的内容
  • default: 对于自己家族中(同一个包中)不是什么秘密,对于其他人来说就是隐私了,包访问权限。
  • private:只在当前类的内部可见,出了类的{},对外部完全隐藏
  • protected:继承访问权限。

作用:

(1)保证数据的安全性,防止调用者随意更改数据。(例如,在封装一些常用的工具类时,会把类的无参构造器私有private化或者在类名前使用abstract修饰,不准创建该类,达到只能调用,继承,不能修改的效果)

(2)提高代码的复用性。(把公用的方法放到一个类中,谁需要谁直接就调用)


提示:以下是本篇文章正文内容,下面案例可供参考

继承

一般地,在父类中存放多个子类的共同字段和方法,在子类中存放自己特有的字段和方法

单继承:

  • 一个子类只能有一个父类(一个儿子只能有一个爹)
  • 一个父类可以有多个子类(一个爹可以有多个儿子)
    • 如果父类中的成员使用 private 修饰,子类继承不到。private 只能在本类中访问
    • 父类的构造器,子类也不能继承,因为构造器必须和当前的类名相同

作用:

  • 可以解决多个类存在共同代码的问题。

多态

多态是指允许不同子类型的对象对同一消息作出不同响应

多态实现条件:

  1. 必须在继承体系下

  2. 子类必须要对父类中方法进行重写

  3. 通过父类的引用调用重写的方法

多态操作的两种实现方式:

  1. 操作继承关系

父类 变量名 = new 子类();

// 父类
public class People {
 
}
// 子类
public class Girl extends People{
 
}
People p = new Girl();  // 继承关系
  1. 操作实现关系.

接口 变量名 = new 实现类();

// 接口
public interface Man {
	
}
// 实现类
public class BadMan implements Man{
 
}
Man m = new BadMan(); // 接口和实现类关系

提供了大量能使我们快速便捷地处理数据的函数和方法。

你可能感兴趣的:(java,java)