首页 > 其他 > 详细

面向对象编程(OOP)

时间:2021-01-16 01:06:59      阅读:27      评论:0      收藏:0      [点我收藏+]

面向对象编程(OOP)

* 面向对象概念
* 方法回顾喝加深
* 对象的创建分析
* 面向对象的三大特性
* 抽象类和接口
* 内部类及OOP实战

面向过程 & 面向对象

什么时面向对象

面向过程考虑步骤,第一步做什么,第二步做什么
面向对象,适合处理复杂问题,先对解决问题需要哪些来分类。然后对这些分的类进行单独思考,分类下的细节进行面向过程思考
以类的方式组织代码,以对象的组织(封装)数据

三大特性

  • 封装
  • 继承
  • 多态
    从认识论角度考虑先有对象,然后对其特征进行抽象形成类
    从代码角度先有类作为模板,然后建立对象

方法

类方法static和类一起加载的,非static对象方法只有在类实例化后才存在的方法。
静态方法不能直接调用非静态方法,一个已经存在的方法是不能调用一个不存在的方法的。必须用对象来调用对象方法

创建与初始化对象

创建对象

使用new关键字创建对象,此时分配内存空间,给创建好的对象进行默认构造器初始化或者调用自定义构造器初始化。
this指针表示当前类(对象)
注: 一个项目应该只存在一个main方法,写一个单独的类专门用来测试。
IDEA里分屏左右两边同时显示两个文件,用来对照。在想跟平显示的文件上右键->Split Virtically/Horizontally

构造器

  • 类即使什么都不写,也会有个默认构造器方法,编译后会自动给类加上该默认构造器。
    可以通过查看.class文件,看见默认构造器.
    技术分享图片
    默认构造器,是无参构造器,空方法
  • 自定义构造器:
    要求构造器和类同名,没有返回值且不写void
  • 一旦定义了有参构造器,默认无参构造器就失效了,如果想要使用无参构造器,需要显示手动写出来
    IDEA里alt+insert会自动生成构造器
    技术分享图片
    内存分堆和栈,栈里放方法和对象的引用,堆又分出一个特殊的部分方法区,存放类和常量的地方和静态方法区。

封装(private)

  • "高内聚,低耦合"
    高内聚:类内部的数据操作细节自己完成,不允许外部干涉
    低耦合:仅暴露少量的方法给外部使用
    封装即数据的隐藏,不直接访问数据,通过接口来访问。
    私有只能在类内访问(如类内的方法),外部不能通过对象访问
    实现方式:属性私有,get/set

  • 封装的意义:

  1. 提高程序的安全性,保护数据
  2. 隐藏代码实现细节
  3. 统一接口
  4. 增强系统的可维护性

属性封装可以在方法里对属性做约束处理,防止外部随意更改值

private age;
public voide setAge(int age){
	if(age>120 || age< 0 ){ //不合法
		this.age=3;
		System.out.println("超过合理年龄,变成三岁")
	}else{
		this.age = age;
	}
  
}
使用时如果s1.setAge(1000)就会编程三岁

面向对象编程(OOP)

原文:https://www.cnblogs.com/drying-net/p/14284698.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!