面向对象

面向对象

面向对象思想

1.面向对象是什么?
面向对象的思想对软件开发相当重要,它的概念和应用已经超越了程序设计和软件开发,扩展到数据库系统、交互式页面、应用平台、人工智能等领域。面向对象是一种 对现实事物的理解和抽象的方法 面向对象的编程思想,核心是对象。
面向过程:是一种以过程为中心的编程思想,考虑怎么创造,怎么管理。

2.面向对象编程
三个基本特征:
封装、继承、多态

封装
将一切事物的属性和行为抽象成类。
将抽象性接口的实现细节部分包装、隐藏起来的方法。

优点
1.良好的封装能减少耦合。
2.类内可自由修改结构。
3.对成员变量更精准的控制。
4.隐藏信息。 ``

实现java封装的步骤:
1、 限制对属性的访问(一般为private),例如:

     public class Person {
        private String name;
        private int age;
    }

这段代码只能本类才能访问name和age
2、对每个值属性提供对外的公共方法访问,创建赋值取值方法,用于对私有属性的访问,例如:

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

this关键字是为了解决实例变量和局部变量之间发生的重名冲突。

继承
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承的特性
1.子类拥有父类非 private 的属性、方法。
2.子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
3.子类可以用自己的方式实现父类的方法。
4.Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
5.提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。

继承关键字
extends、
在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。

implements、
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。

多态
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作。
多态的优点

  1. 消除类型之间的耦合关系
  2. 可替换性
  3. 可扩充性
  4. 接口性
  5. 灵活性
  6. 简化性

多态存在的三个必要条件
继承
重写
父类引用指向子类对象:Parent p = new Child();

===========================================
封装
狭义:类私有化 提供get/set方法
广义:德鲁伊连接池(????)

继承
为了互用 减少代码 提高复用性
多态
父类引用指向子类对象 接口是父类 接口注入不同的实现进行解耦 接口对接 (=》面向对象的思想)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值