面向对象(上)之一

本文围绕Java编程展开,介绍了面向过程和面向对象思想,阐述面向对象的三大特征。详细讲解类和对象的概念,包括类的创建、对象的实例化,还对类的成员属性和方法进行说明,如属性语法、变量分类,方法的定义、分类及注意事项等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 面向过程和面向对象

1.1 概述

  • 面向过程和面向对象都是一种思想,面向对象是相对于面向过程而言的。
  • 面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。
  • 面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

 

  • 面向对象,更加强调运用人类在日常的思维逻辑中采用的思想方法和原则,如抽象、分类、继承、聚合、多态等。

1.2 面向对象的三大特征

  • 封装
  • 继承
  • 多态

1.3 面向对象的思想概述

  • 程序员从面向过程的执行者转化成了面向对象的指挥者。

 

  • 面向对象分析方法分析问题的思路和步骤:
  • ①根据问题需要,选择问题所针对的现实世界中的实体。
  • ②从实体中寻找问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
  • ③把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。
  • ④将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。

 

2 类和对象

2.1 类和对象的概念

  • 类是对一类事物的描述,是抽象的、概念上的定义。
  • 对象是实际存在的该类事物的每个个体,因此也称为实例。

 

  • 面向对象程序设计的重点是类的设计。
  • 类的设计,其实就是类的成员的设计。

2.2 java类及类的成员

  • 现实世界的生物体,大到鲸鱼,小到蚂蚁,都是由最基本的细胞构成的。同理,java代码世界是由诸多个不同功能的类构成的。
  • 现实生物世界中的细胞又是有细胞核、细胞质等构成。那么,java中的类class来描述事物也是如此。
  • 常见的类的成员有:
  • ①属性:对应类中的成员变量。
  • ②行为:对应类中的成员方法。

2.3 类和对象的创建

2.3.1 类的创建

  •  格式:
访问修饰符 class 类名{
  属性声明;
  方法声明;  
}
  • 说明:
  • ①修饰符public表示类可以被任意访问。
  • ②类的正文要用{}括起来。

 

  • 示例:
package day06;

/**
 * 人类
 */
public class Person {
    private String name;
    private Integer age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
View Code

2.3.2 对象的创建

  • 格式:
类名 对象名 = new 类名();
使用“对象名.对象成员”的方式访问对象成员(包括属性和方法)

 

  • 示例:
package day06;

public class PersonTest {
    public static void main(String[] args) {
        Person person = new Person();
        person.setName("张三");
        person.setAge(28);
        System.out.println(person);

        Person person1 = new Person();
        person1.setName("李四");
        person1.setAge(27);
        System.out.println(person1);
    }
}
View Code

2.4 类的成员之属性

2.4.1 属性的语法

  • 格式:
修饰符 数据类型 属性名 = 初始化值;
  • 说明:
  • ①修饰符:
    • 常用的权限修饰符:private、缺省、protected、public。
    • 其他修饰符:static、final  
  • ②数据类型:任何基本数据类型或引用数据类型。
  • ③属性名:属于标识符,符合命名规则和规范即可。

 

  • 示例:
package day06;

/**
 * 人类
 */
public class Person {
    /**
     * 属性:姓名
     */
    private String name;
    /**
     * 属性:年龄
     */
    private Integer age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
View Code

2.4.2 变量的分类:成员变量与局部变量

  • 在方法体外,类体内声明的变量称为成员变量。
  • 在方法体内声明的变量称为局部变量。

  • 注意:成员变量和局部变量的异同。
  • 相同点:都有生命周期。
  • 不同点:局部变量除形参外,均需要显示初始化。

 

  • 成员变量(属性)和局部变量的区别? 

 

2.4.3 对象属性的默认初始化赋值

  • 当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。除了基本数据类型之外的变量类型都是引用数据类型。

 

2.5 类的成员之方法

2.5.1 什么是方法(method、函数)

  • 方法是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称为函数或过程。
  • 将功能封装为方法的目的是,可以实现代码重用,简化代码。
  • java里的方法不能独立存在,所有的方法必须定义在类里面。

2.5.2 方法的语法

  • 格式:
访问修饰符 返回值类型 方法名(参数类型 形参1,参数类型 形参2,……){
    //方法体;
   //return 返回值; return;
}
  • 说明:
  • ①访问修饰符:private、缺省、protected、public。
  • ②返回值类型:
    • 没有返回值:void。
    • 有返回值:和方法体中的"return 返回值"搭配使用。  
  • ③方法名:属于标识符,命名的时候遵循标识符命名规则和规范,见名知意。
  • ④形参列表:可以包含零个、一个或多个参数。多个参数的时候,中间使用“,”隔开。
  • ⑤返回值:方法在执行完毕后返还给调用它的程序的数据。

2.5.3 方法的分类:按照是否有形参和返回值

2.5.4 方法的注意事项

  • 方法被调用一次,就会执行一次。
  • 没有具体返回值的情况,返回值类型用关键字void表示,那么方法体可以不使用return语句。如果要使用,仅仅用来结束方法。
  • 定义方法的时候,方法的结果应该返回给调用者,交由调用者自己处理。
  • 方法中只能调用属性或方法,不可以在方法内部定义方法。

 

转载于:https://www.cnblogs.com/xuweiweiwoaini/p/10807100.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值