当前位置:   article > 正文

面向对象概述1_试从面向对象对人类思维的模拟、类的提取、封装究竟应该封什么、子系统如何建立、

试从面向对象对人类思维的模拟、类的提取、封装究竟应该封什么、子系统如何建立、

1、面向对象的思想


  • 面向对象思想概述

    ​ 当需求单一或者简单时,我们一步一步操作没问题并且效率也挺高,但是随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦。这时候就开始思索能不能把这些步骤和功能进行封装,封装时根据不同的功能进行不同的封装,功能类似的封装在一起。用的时候找到对应的类就可以了,这就是面向对象的思想。

  • 面向对象的特点

    ​ A:是一种更符合我们思想习惯的思想

    ​ B:可以将复杂的事情简单化

    ​ C:将我们从执行者变成了指挥者

  • 面向对象的特征

    ​ 封装、继承、多态


2、类与对象


  • 现实世界的事物:

    ​ 属性:就是该事物的描述信息

    ​ 行为:就是该事物能够做什么(功能)

    ​ 我们学习编程语言,就是为了模拟现实中的事物,我们学习的java语言最基本单位是类,所以我们应该把一个事物用一个类来体现。由此我们就得到了现实中的事物和类的对应关系:

    ​ 事物 类

    ​ 属性-----------------------成员变量/成员属性

    ​ 行为-----------------------成员方法/成员功能

  • 定义类其实就是定义类的成员(成员变量和成员方法)

    A: 成员变量 和以前定义变量是一样的,只不过位置发生了改变,在类中,方法外。

    B: 成员方法 和以前定义方法是一样的,只不过把static去掉。

  • 类与对象

    ​ A: 类:是一组相关的属性和行为的集合

    ​ B: 对象:是该事物的具体体现

    ​ C: 举例:类 学生

    ​ 对象 班长就是一个对象(一个类可以创建很多个它的对象)

  • 创建对象

    ​ A: 类是一个抽象的概念,不能直接使用。如果要使用类的属性和功能,必须要对类进行实例化。所谓实例化,就是创建该类对象。那么如何创建对象呢?使用一个关键字new.一旦我们完成了该类的实例化,拿到该类的对象,那么我们就可以使用对象来调用类中的属性和功能。

    ​ B: 文件名问题

    ​ 在一个Java文件中写两个类:一个基本的类,一个测试类

    ​ 建议:文件名和测试类名称一样

    ​ 一个.java文件中可以定义多个类,但是类前边的public只能加给有主方法的类,我们建议一个类就是一个java文件

    ​ C: 如何创建对象?

    ​ 格式: 类名 对象名=new 类名(); 对象名其实就是一个引用

    ​ D: 如何使用成员变量和成员方法呢?

    ​ 对象名.变量名 对象名.方法名()


    3、成员变量和局部变量的区别


  • 在类中的位置不同

    ​ 成员变量:在类中方法外

    ​ 局部变量:在方法中或者方法声明上**(形参 )**

    注意事项:在方法中访问一个变量时,遵循就近原则,先在方法的局部范围找,找到就使用。如果

    在局部范围没找到,就会去成员范围找,找到就使用

  • 在内存中的位置不同

    ​ 成员变量:在堆内存

    ​ 局部变量:在栈内存

  • 初始化值不同

    ​ 成员变量:有默认初始化值

    ​ 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用

  • 声明周期不同

    ​ 成员变量:随着对象的创建而存在,随着对象的消失而消失

    ​ 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

    注意:成员变量属于对象,局部变量属于方法


4、方法的传参问题


  • Java中参数传递问题

    ​ 基本类型:形式参数的改变不影响实际参数

    ​ 引用类型:形式参数的改变直接影响实际参数

  • 方法的参数是类名

    ​ 如果你以后看到一个方法的形参如果是一个类类型(引用类型),你就传该类的一个对象


5、匿名对象概述


  • 什么是匿名对象?

    ​ 就是没有名字的对象

  • 匿名对象的应用场景

    ​ A:调用方法,仅仅只调用一次的时候

    ​ B:匿名对象可以作为实际参数传递


6、封装的概述


  • 封装的概述

    ​ 封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式

  • 封装的好处

    ​ 隐藏实现细节,提供公共的访问方式

    ​ 提高了代码的复用性

    ​ 提高安全性

  • 封装的原则

    ​ 将不需要对外提供的内容都隐藏起来

  • student.230;我认为这个数据不合理,所以我们想要避免这种不合理的数据设置上去,我们可一屏蔽掉这种 对象名.成员变量名 这种设置方式,那么如何屏蔽?可以使用一个关键字private


7、private关键字的概述和特点


  • private关键字的特点

    ​ A: 是一个权限修饰符

    ​ B: 可以修饰成员变量和成员方法

    ​ C: 被修饰的成员只能在本类中访问,外界无法直接访问

  • 我们在定义一个类时,一般情况下,都会把成员变量私有掉,然后提供公共的set get设置和获取方法,让外界通过set get方法间接地去给成员变量设置值以及获取成员变量的值。

    注意事项: 一键生成 get set 方法------------alt+insert 弹出一个菜单,根据需要选

  • 权限修饰符:public>protected>缺省的>private


8、this关键字的概述和应用


  • 为什么要有this?

    ​ 当我们的局部变量和成员变量相同的时候,如果我们不使用this关键字,那么就会导致一个问题:就是局部变量隐藏了成员变量的问题。

  • this关键字的特点

    ​ 是当前类的对象引用

    ​ this代表本类的一个引用,你可以认为this代表的是一个本类对象,哪个对象调用这个方法,那么方法中的this就代表谁。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/535279
推荐阅读
相关标签
  

闽ICP备14008679号