第七章-面向对象OOP

面向对象OOP

本章内容

  1. 面向对象OOP – 思想
  2. 封装
  3. 继承
  4. 多态
  5. 对象的创建过程
  6. 面向对象OOP – 编程

 

1. 面向对象OOP – 思想

       1. 面向对象OOP(Object Oriented Programming)

       2. 按照我们人类解决问题的惯用方式:是遇到问题,先思考一个解决方案。这个方案是在脑子里,计划蓝图上的,然后再按照蓝图来解决实际问题。可以理解这个蓝图就是解决办法(思想)

       3. Java是一门编程语言,它的出现是为了用代码来帮助我们人类,去实际解决一个问题。所以就被聪明的设计者,灌入了人类解决问题的习惯(思想)

4. OOP是Java的核心编程思想,整套Java的精髓就是OOP思想的实现

5. 所以说Java不是枯燥,无规律的代码,而是有思想,有灵魂的语言

2. 封装

封装:核心思想就是“隐藏细节”、“数据安全”:将对象不需要让外界访问的成员变量和方法私有化,只提供符合开发者意愿的公有方法来访问这些数据和逻辑,保证了数据的安全和程序的稳定

       实现方法:属性私有化,被private修饰,对外只提供set/get方法

属性私有:

提供set/get方法

3. 继承

父类的延续,子类的更实例,具体化

满足is a关系时 子类继承于父类

书写子类 (关键字extends):

父类定义的属性和方法,可以直接调用

java中4中修饰符分别为public、protect、default、private,他们这就说明了面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高。

方法覆盖 Override (重写) 展现子类的多姿多彩

       1. 子类中出现和父类中方法声明相同的方法,子类覆盖父类定义的方法

       2. 子类对象调用就是子类对象自己的方法,体现了子类的特殊性

       3. 前提是 继承

       4. 修饰符相同或更宽

       5. Java是单继承,多实现(接口)

 

4. 多态

       1. 多态是在继承的基础上实现的,必须有父子类关系

2. 父类引用指向子类对象

3. 如果子类覆盖了父类中的方法,调用子类覆盖后的方法 

       父类 引用 = new 子类对象

      

多态的意义:

       把不同的子类对象统一的当做父类对象看待,屏蔽子类之间的差异,提高代码的复用性和扩展性

5. 对象的创建过程(JVM)

Student stu = new Student();

      

1、为父类和子类分配空间

       2、递归的构造父类对象,所有实例变量被赋予默认值

       3、本类属性初始化,所有实例变量被赋予初始值

       4、调用本类中的构造方法,实例变量可以在这里第三次赋值

       创建子类对象必须先创建父类对象,在一个对象被创建过程中,实例变量(对象私有变量)通常被赋值了三次。

JVM类加载:是由classLoader和及其子类来实现,是JVM运行时系统组件。它负责在运行时查找和装入类文件的类。

JVM较耗时操作:开辟空间,创建对象,建立/释放JDBC连接,垃圾回收等。

6. 面向对象编程OOP

         1. 先有思想,后有JAVA的OOP设计模式,再有OOP编程的实现

       2. JAVA语言在设计之初就坚持贯通、执行的OOP思想,所以:

JAVA语言 = OOP思想(灵魂) + 各种变量,语法(骨架)

       3. 封装,继承,多态是JAVA面向对象编程的核心部分体现,所以:

              不能说OOP就是 封装,继承,多态 就完了

       4. 开发一年,二年,三年,五年后再来回味OOP,个中滋味,各种体会

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值