JavaSE面向对象(一)-面向对象编程入门
  eZw8kcl3fQWu 2023年11月19日 14 0



文章目录

  • 1.面向对象编程
  • 1.1.对比面向过程
  • 1.2.万物皆对象
  • 2.类和对象
  • 2.1.对象(Object)
  • 2.2.类(class)
  • 2.3.类和对象的关系
  • 2.4.类的抽取
  • 2.5.Java开发的任务
  • 3.类的定义与使用
  • 3.1.系统已经定义的类
  • 3.2.自定义类(class)
  • 3.3.属性(attribute)
  • 3.4.方法(method)
  • 3.4.1.无参数,无返回值的方法
  • 3.4.2.无参数,有返回值的方法:
  • 3.4.3 有参数的方法
  • 3.5.创建实例
  • 3.6.案例
  • 3.7.练习
  • 3.8.对象成员的调用
  • 3.7.成员变量和局部变量
  • 4.面向对象练习
  • 4.1.练习1
  • 4.2.练习2
  • 4.3.练习3
  • 5.形参和实参



JavaSE面向对象(一)-面向对象编程入门_java

1.面向对象编程

英语:Object-oriented programming,缩写:OOP

1.1.对比面向过程

JavaSE面向对象(一)-面向对象编程入门_java_02


示例:小白想吃饭。

JavaSE面向对象(一)-面向对象编程入门_java_03

  • 面向过程:侧重点强调一种过程,先干啥,再干啥;
  • 面向对象:侧重点强调将功能封装到对象里,强调的是具备某功能的对象;
  • 面向对象和面向过程不是对立,面向对象包含了面向过程
  • 面向对象的三个特征:
封装
继承;
多态。

1.2.万物皆对象

问题:我们是怎么认识世界的?

人类从就不断的接触世界上各种各样的事物(动物、植物、建筑、山川、河流…),然后通过这些事务的公共属性,归纳出这些事务的共同特征。所以,当我们见到猫的时候,不会叫老虎,见到树木的时候,不会叫花朵。我们在现实生活中,是通过具体的某种事物归纳总结它们的公共特性然后产生类(一类事物)。那么类就描述了该种事物的的共性。类相当于造事物的图纸,我们可以根据这个图纸去做出具体的实体对象。

JavaSE面向对象(一)-面向对象编程入门_JavaSE_04


分类是人们认识世界的一个很自然的过程,在日常生活中会不自觉地进行分类!

2.类和对象

2.1.对象(Object)

对象(object)代表现实世界中可以明确标识的一个实体。例如:一个学生、一张桌子、一间教室,一台电脑都可以看做是一个对象。每个对象都有自己独特的状态标识行为

  • 对象的属性(attribute,或者状态(state)),学生有姓名和学号,该学生特有的姓名和学号就是该学生(对象)的属性。
  • 对象的行为(behavior),是由方法定义,调用对象的一个方法,其实就是给对象发消息,要求对象完成一个动作。可以定义学生对象具备学习的行为。学生对象可以调用学习的方法,执行学习的动作。
  • JavaSE面向对象(一)-面向对象编程入门_Java面向对象_05

问题:说一说教室里的对象?

JavaSE面向对象(一)-面向对象编程入门_JavaSE_06

JavaSE面向对象(一)-面向对象编程入门_Java核心技术_07

2.2.类(class)

  • 类是对对象所应当具有的特征的描述。
  • 类是抽象的存在。
  • 对象是具体的存在。

2.3.类和对象的关系

类好比是图纸,对象好比是房子。
类存在的理由:可以通过这个图纸,创建多个房子。
类创建对象的的过程叫做:实例化

JavaSE面向对象(一)-面向对象编程入门_Java核心技术_08

JavaSE面向对象(一)-面向对象编程入门_java_09


JavaSE面向对象(一)-面向对象编程入门_JavaSE_10

2.4.类的抽取

在一组相同或类似的对象中,抽取出共性的特征和行为,保留所关注的部分。

JavaSE面向对象(一)-面向对象编程入门_Java基础_11

2.5.Java开发的任务

  • 使用已有的类创建对象。(jdk中提供的)
  • 编写自已的类,使有自已的类创建对象。
  • 调用对象的方法,属性,去解决问题。

3.类的定义与使用

3.1.系统已经定义的类

Java API提供了一些现成的类供我们使用,我们可以使用这些现有类来创建实例(对象),比如:

Scanner input= new Scanner(System.in);
input.next();

系统中还有很多的类…
使用现有类创建对象

类名 对象引用变量名 = new 类名 ();

3.2.自定义类(class)

除了使用现有API提供的类库,我们也可以自定义类。之前我们说过类是具有相同属性和相同操作的对象集合,属性就是成员变量,操作就是方法。
所以,类的定义主要有两方面组成

- 成员变量(属性)
- 方法(行为)

JavaSE面向对象(一)-面向对象编程入门_JavaSE_12


语法

class 类名{
      成员变量(属性)定义;
      方法定义;	
 }

JavaSE面向对象(一)-面向对象编程入门_Java核心技术_13


注意:

  • 约定俗称的命名规则
  • 类名的首字母大写
  • 变量名和方法名的首字母小写
  • 采用驼峰命名标识

3.3.属性(attribute)

类的定义主要由属性和方法组成。属性是指类(这类事物)拥有的特征。属性,通常是名词。

  • 例如:定义一个学生类,拥有的属性有:学号,姓名,年龄,家庭住址…

那么如何确定一个类拥有哪些属性(特征)?其实,一个类(一类事物)拥有的属性有很多种。

  • 定义属性的语法:

JavaSE面向对象(一)-面向对象编程入门_Java基础_14

  • 示例:
class Student{
        int num;  //学号
        String name; //姓名
        int age;  // 年龄
        String address; //家庭住址
        ...
}

3.4.方法(method)

类的另一个成员,方法(动词)。方法,指一个类的行为(动词)。

语法格式:

JavaSE面向对象(一)-面向对象编程入门_Java面向对象_15

方法的四个要素:

1、访问控制符
2、返回值类型------------返回值(方法调用结束之后,返回给调用者的信息) void(方法没有返回值)
3、方法名------调用的时候用来区分
4、参数列表-------------参数–方法运行时,需要的额外的信息.方法有返回值,在方法中就一定要有return

3.4.1.无参数,无返回值的方法

在学生类(Student)中添加学习(study)方法,和玩游戏(playGame)方法

public void study(){
   System.out.println(“努力学习”);
}

public void playGame(){
   System.out.println(“开心玩游戏”);
}

3.4.2.无参数,有返回值的方法:

添加自我介绍的方法 introduce

public String introduce(){
  return “我叫”+name;
}

3.4.3 有参数的方法

  • 为什么要用带参数的方法?

JavaSE面向对象(一)-面向对象编程入门_Java核心技术_16

public class ZhaZhiJi{
    public String zhazhi (String fruit ) {
          String juice = fruit + "汁";
          return juice; 
     } 
}
  • 向学生类中添加做整数加法题的方法:
public int add(int x,int y){
  int result = x+y;
  return result;
}

3.5.创建实例

  • 类创建对象的过程叫做实例化。
  • Java中实例化对象和数组相同,也是使用new关键字。

语法:

JavaSE面向对象(一)-面向对象编程入门_java_17

Student stu = new Student(); 创建一个Student类的对象实例(可以简称为创建一个Student类的对象),对象的名字叫做stu(对象名,通常叫做对象引用)。

3.6.案例

  • 定义一个汽车类,并生产出汽车,有颜色,轮胎个数, 有运行的功能。
    分析:如何描述现实世界中的事物,描述该事物的属性和行为,汽车具有颜色和轮胎数的属性,具备运行的行为。

如何使用Java语言进行转换?根据对应关系:

  • 属性:类中的成员变量
  • 行为:类中的成员方法

那么定义Java类就是定义一个类的成员。汽车类具备的成员是:颜色,轮胎数,运行方法。

3.7.练习

定义一个计算机类,属性(颜色、价格、品牌) 方法(加法、减法、乘法、除法)

3.8.对象成员的调用

调用对象成员

成员变量
成员方法

使用点(.)来调用

3.7.成员变量和局部变量

  • 成员变量:定义在类中的变量。
  • 局部变量:定义在方法中的变量和方法的参数。

成员变量与局部变量的区别:

  • 应用范围
成员变量在整个类内都有效    
局部变量只在其声明的方法内有效
  • 生命周期
- 成员变量: 它属于对象,它随着对象的创建而创建,随着对象的消失而消失。被同一个类中的方法共享。
- 局部变量: 使用完马上释放空间。(定义它的那一对{}),另外,局部变量,定义完成后,必须赋初值。
  • 初始值
成员变量有初始值
局部变量使用前必须手动赋值

JavaSE面向对象(一)-面向对象编程入门_Java面向对象_18

JavaSE面向对象(一)-面向对象编程入门_Java基础_19

4.面向对象练习

4.1.练习1

编写教师类和学生类,并通过测试类创建对象进行测试

JavaSE面向对象(一)-面向对象编程入门_JavaSE_20

4.2.练习2

(1)定义一个长方形的类,属性 1高,属性2是宽,
定义两个方法,一个计算面积,一个计算周长。
(2)新建测试类,创建长方形对象,并通过控制台赋值,调用方法查看结果

4.3.练习3

(1)设计一个动物类(Animal),它包含动物的基本属性。例如名称、大小、重量等,并设计相应的动作,例如跑、跳、走等。
(2)编写测试类 TestAnimal 进行测试

5.形参和实参

形参:形式参数(声明方法时,方法中声明的参数)

JavaSE面向对象(一)-面向对象编程入门_JavaSE_21


实参:实际参数(调用方法时,实际传给方法的参数)

JavaSE面向对象(一)-面向对象编程入门_Java面向对象_22

形参的改变,不会影响实参


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
eZw8kcl3fQWu