欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java面向对象--类与对象

程序员文章站 2024-03-15 18:41:45
...

面向过程与面向对象

开发方法有结构化开发面向对象开发,结构化开发又称面向过程开发,最常见的就是C语言,java是一种面向对象开发语言。

结构化开发

①面向功能划分软件结构
②自顶而下
③最小的子系统是方法
④制约了软件的可维护性和可扩展性

面向对象开发

①吧软件系统看成各种对象的集合
②系统结构较稳定
③子系统相对独立
④软件可重用性、可维护性和可扩展性强

对象

对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。描述对象的两大特征为属性方法

属性

属性是对象具有的各种特征。每个对象的每个属性都拥有特定的值
例如有个名为张浩、年龄为20、体重为60kg的人
Java面向对象--类与对象

方法

方法就是对象执行的操作,简单来说就是这个对象能够做什么事情。
例如收银员可以收银、打印账单、刷卡等
Java面向对象--类与对象
属性和方法一同构成了对象。例如:一辆车,它的属性有品牌、颜色、价格等,方法有启动、停止、加速等。

:具有相同属性和方法的一组对象的集合。
类与对象的关系可以概括成一句话:类是对象的抽象,对象是类的具体实现
例如人就是一个类:具有姓名、年龄、体重等属性,衣食住行等方法。当具体到某个人是比如张三、李四时,它就是一个对象,每个都想都有人这个类的共同特征和方法。

Java面向对象--类与对象

Java类

所有的java程序都以类class为单元组成;
关键字class定义自定义的数据类型,比如前面我们写的第一个java程序HelloWorld
Java面向对象--类与对象
java中的类可大致描述为一下模板内容:

public class 类名{
	//定义属性部分
	属性1的类型 属性1;
	...
	属性n的类型 属性n;
	//定义方法部分
	方法1;
	...
	方法n;
}

创建和使用对象

假设我们有个School类,它包含姓名name属性,有一个showCenter()方法
使用对象的步骤

①创建对象

// 类名 对象名 = new 类名();
School school = new School();

②引用对象

// 使用"."号进行操作
school.name = "初级中学"; // 给name属性赋值
school.showCenter(); //调用showCenter()方法

实例
编写一个学生类,他有姓名、年龄、班级、爱好属性,有一个自我介绍的方法

public class Student {
    // 姓名
    String name;
    // 年龄
    int age;
    // 班级
    String className;
    // 爱好
    String habbit;
    // 自我介绍方法
    void introduction(){
        System.out.println("我叫"+name+",今年"+age+"岁,我就读于"+className+",喜欢"+habbit);
    }
}

编写测试类TestStudent

public class TestStudent {
    public static void main(String[] args) {
        Student student = new Student();
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入姓名:");
        student.name = sc.next();
        System.out.println("请输入班级:");
        student.age = sc.nextInt();
        System.out.println("请输入班级:");
        student.className = sc.next();
        System.out.println("请输入爱好:");
        student.habbit =  sc.next();
        student.introduction();
    }
}

类的方法

方法可以分为有返回值和无返回值。在上述例子中,我们编写了一个introduction()方法,它是一个无返回值的方法

方法的格式:
	无返回值:
	[访问修饰符类型] void 方法名(){
		代码;
	}
	有返回值:
	[访问修饰符类型] 返回值类型 方法名(){
		代码;
		return 返回值;
	}

实例
修改密码:但用户输入的密码与旧密码一致时可以修改,否则无法修改

// 编写User类
public class User {
    String userName = "admin";
    String oldPass = "123456";
    void change(String newPass){
        oldPass = newPass;
        System.out.println("密码更新成功,您的新密码为:"+oldPass);

    }
}

编写TestUser类

public class TestUser {
    public static void main(String[] args) {
        User user = new User();
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入用户名:");
        String name = sc.next();
        System.out.println("请输入密码:");
        String pass = sc.next();
        if(name.equals(user.userName)&&pass.equals(user.oldPass)){
            System.out.println("请输入新密码:");
            String newPass = sc.next();
            user.change(newPass);
        }else{
            System.out.println("用户名密码不匹配!您没有权限更改密码!");
        }
    }
}
相关标签: java