JAVA基础_面向对象_概念&封装

1.1.面向对象概念

• 我们回想一下,前面我们完成一个需求的步骤:首先是搞清楚我们要做什么,然后在分析怎么做,最后我们再代码体现。一步一步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。
• 在上面的每一个具体步骤中我们都是参与者,并且需要面对具体的每一个步骤和过程,这就是面向过程最直接的体现。
• 那么什么是面向过程开发呢? 面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。
• 面向过程的代表语言:C语言
• 当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦了,这时就开始思索,能不能把这些步骤和功能在进行封装,封装时根据不同的功能,进行不同的封装,功能类似的用一个类封装在一起,这样结构就清晰了很多。用的时候,找到对应的类就可以了。这就是面向对象的思想。

1.2.面向过程与面向对象的特点

面向过程:强调的是过程,所有事情都需要自己完成
面向对象:
1.是一种更符合我们思想习惯的思想(懒人思想,我把事情自己不做,交给别人去做)
2.可以将复杂的事情简单化(对使用者来说简单了,对象里面还是很复杂的)
3. 将我们从执行者变成了指挥者角色发生了转换

1.3.类与对象

1.3.1.类的定义

例:
写一个手机类:
成员变量:品牌,价格,颜色
成员方法:打电话,发短信

public class Phone{
    String brand;   //品牌
    int price;     //价格
    String color;  //颜色
//方法_打电话
public void call(){
    System.out.println("打电话给....")
}
//方法_发短信
public void sendMessage(){
    System.out.println("发短信给...");
}
}

1.4.1.一个对象的内存图

在这里插入图片描述

1.4.2.两个对象的内存图

两个引用共享同一个方法区
在这里插入图片描述

1.4.3.两个对象的内存图

两个引用指向同一个对象
在这里插入图片描述

1.5.成员变量与局部变量的区别

成员变量局部变量
在类中,方法外在方法中或者方法声明上
在堆内存中在栈内存中
随对象存在而存在随方法调用而存在
有默认值无默认值,必须要赋有初始值

1.6.封装

1.6.1封装的概述

  • 是面向对象的三大特征之一
  • 是面向对象编程语言对客观世界的模拟。客观世界里成员变量都是隐藏在对象内部,外界无法直接操作和修改

1.6.2.封装的原则

  • 将不需要对外界提供的内容都隐藏起来
  • 把属性隐藏,提供公共方法对其访问

1.6.3.好处

  • 通过方法来控制成员变量的操作,提高代码的安全性
  • 把代码用方法进行封装,提高代码的复用性

1.7.this关键字的概述和使用

  • this:代表在类的对象引用,方法被哪个类调用,this就代表谁
  • 使用场景:就是用于成员变量被隐藏的问题

1.8.构造方法的概述和使用

1.8.1.作用:

  • 用于给对象的数据进行初始化

1.8.2.格式:

  • 方法名与类名相同
  • 没有返回值类型,连void都不能写
  • 没有具体的返回值

1.8.3.注意事项:

  • 如果不提供构造方法,系统会给出默认构造函数,反之,提供了,系统不再给出
  • 构造函数也可以重载的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值