Notas de estudo orientadas a objetos Java-2

Prefácio

Este artigo apresenta os conceitos básicos de definição de classe e criação de objetos em Java. Demonstramos através de código de exemplo como definir diferentes tipos de classes, incluindo informações do administrador, informações do cliente, informações da escola e informações do visitante, e mostramos como criar objetos dessas classes e como acessar suas propriedades e métodos. Esses exemplos ajudam a compreender os princípios básicos da programação orientada a objetos e como aplicar esses conceitos em Java.

Notas de estudo orientadas a objetos Java-1

Definição de classe e criação de objeto

Classe Admin - informações do administrador

A classe Admin é usada para representar o administrador, incluindo o nome e a senha do administrador. A seguir está um exemplo de código para a classe Admin:

public class Admin {
    
    
    String name;
    String password;

    public void show() {
    
    
        System.out.println("用户名:" + name + ",密码:" + password);
    }
}

Um caso de uso típico da classe Admin é gerenciar contas de administrador no sistema. Os administradores podem fazer login no sistema usando nome de usuário e senha e ter permissões para executar tarefas específicas.

Classe de cliente - informações e pontos do cliente

A classe Cliente é usada para representar informações do cliente, incluindo pontos e tipo de cartão. A seguir está um exemplo de código para a classe Cliente:

public class Customer {
    
    
    int jifeng; // 积分
    String type; // 卡类型

    public void show() {
    
    
        System.out.println("积分:" + jifeng + ",卡类型:" + type);
    }

    public void huikui() {
    
    
        // 金卡客户积分大于1000分或普卡客户积分大于5000,获得回馈积分500分
        if (("金卡".equals(type) && jifeng > 1000) || ("普卡".equals(type) && jifeng > 5000)) {
    
    
            System.out.println("回馈积分500分!");
        } else {
    
    
            System.out.println("谢谢惠顾!");
        }
    }
}

A classe Cliente é adequada para gerenciar pontos de clientes e tipos de cartões. Com base em diferentes condições, o sistema pode calcular e recompensar pontos aos clientes.

Turma escolar - informações sobre a escola

A classe Escola é usada para representar informações da escola, incluindo nome, número de salas de aula e número de salas de informática. A seguir está um exemplo de código para a classe Escola:

// 类名
public class School {
    
    
    // 属性
    String name; // 名称
    int jsNumber; // 教室数目
    int jfNumber; // 机房数目

    // 方法
    public void show() {
    
    
        System.out.printf("%x\n", this.hashCode()); // 内存地址
        System.out.println("名称:" + name + ",教室数目:" + jsNumber
                + ",机房数目:" + jfNumber);
    }
}

A classe Escola pode ser utilizada para gerenciar as informações básicas da escola, como nome, número de salas de aula e número de salas de informática. Esta classe também contém um método para exibir informações da escola.

Classe de visitantes - informações do visitante

A classe Visitor é usada para representar informações do visitante, incluindo nome e idade. A seguir está um exemplo de código para a classe Visitante:

public class Visitor {
    
    
    String name;
    int age;

    public void show() {
    
    
        if (age <= 10) System.out.println(name + "的年龄为:" + age + ",门票免费");
        else System.out.println(name + "的年龄为:" + age + ",门票价格为:20元");
    }
}

A classe Visitante pode ser usada para rastrear informações de visitantes, determinar preços de ingressos com base na idade ou outras informações relacionadas.

Exemplos e conceitos

Exemplo 1: Crie um objeto da classe Escola

public class Demo01 {
    
    
    public static void main(String[] args) {
    
    
        // 将School类,理解成一种引用数据类型,只不过是自定义的引用数据类型
        // 1. 声明
        School school;
        // 2. 分配空间
        school = new School();
        // 3. 点访问属性
        school.name = "万科城小学";
        school.jsNumber = 36;
        school.jfNumber = 8;
        // 4. 点访问方法
        school.show();
    }
}

No exemplo demonstramos como criar um objeto da classe Escola e acessar suas propriedades e métodos.

Exemplo 2: Simplifique a criação de objetos

public class Demo02 {
    
    
    public static void main(String[] args) {
    
    
        // 将School类,理解成一种引用数据类型,只不过是自定义的引用数据类型
        // 声明分配空间
        School school = new School();
        // 点访问方法
        school.show();
        // 点访问属性
        school.name = "万科城小学";
        school.jsNumber = 36;
        school.jfNumber = 8;
        // 点访问方法
        school.show();
    }
}

Este exemplo simplifica o processo de criação de objetos e acesso a propriedades/métodos.

Exemplo 3: Insira informações do visitante

import java.util.Scanner;

public class Demo03 {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        while (true) {
    
    
            System.out.print("请输入姓名:");
            String name = scanner.next();
            if (name.equals("n")) break; // 提供了一个退出通道
            System.out.print("请输入年龄:");
            int age = scanner.nextInt();
            Visitor visitor = new Visitor(); // 创建对象
            // 自动提示功能
            visitor.name = name;
            visitor.age = age;
            visitor.show();
        }

        System.out.println("退出程序");
    }
}

Este exemplo demonstra como usar um Scanner para receber entradas do usuário e criar um objeto Visitor para exibir informações do visitante.

Exemplo 4: Modificar senha de administrador

import java.util.Scanner;

public class Demo04 {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);

        Admin admin = new Admin(); // 准备一张卡
        admin.name = "admin1";
        admin.password = "111111";

        // 试图修改该卡的密码
        System.out.print("请输入用户名:");
        String name = scanner.next();
        System.out.print("请输入密码:");
        String password = scanner.next();
        // 核对
        if (name.equals(admin.name) && password.equals(admin.password)) {
    
    
            System.out.print("请输入新密码:");
            admin.password = scanner.next(); // 一定要更新到对象的属性上,才叫修改
            System.out.println("密码修改成功,你的新密码是:" + admin.password);
        } else {
    
    
            System.out.println("用户名或密码不正确!你没有修改权限。");
        }
    }
}

Este exemplo demonstra a autenticação do usuário e como alterar a senha do administrador.

Exemplo 5: Informações do cliente e pontos de recompensa

public class Demo05 {
    
    
    public static void main(String[] args) {
    
    
        Customer customer = new Customer();
        customer.jifeng = 3050;
        customer.type = "普卡";
        customer.show();
        customer.huikui();
    }
}

Neste exemplo, criamos um objeto Cliente, exibimos informações do cliente e calculamos pontos de recompensa.

Exemplo 6: Vários objetos escolares

public class Demo06 {
    
    
    public static void main(String[] args) {
    
    
        // 将School类,理解成一种引用数据类型,只不过是自定义的引用数据类型
        // 声明分配空间
        School school1 = new School();
        School school2 = new School();
        System.out.printf("%x\n", school1.hashCode()); // 内存地址
        System.out.printf("%x\n", school2.hashCode()); // 内存地址
        // 点访问属性
        school1.name = "万科城小学";
        school1.jsNumber = 36;
        school1.jfNumber = 8;
        school2.name = "艾溪湖小学";
        school2.jsNumber = 24;
        school2.jfNumber = 6;
        // 点访问方法
        school1.show();
        school2.show();
    }
}

Este exemplo demonstra como criar vários objetos School e exibir suas propriedades.

Exemplo 7: escopo de variável local

public class Demo07 {
    
    
    public static void main(String[] args) {
    
    
        {
    
    
            int age = 18;
            System.out.println(age);
        }
        {
    
    
            int age = 20;
            System.out.println(age);
        }
    }
}

No Exemplo 7, demonstramos o escopo da variável local. Você pode usar variáveis ​​locais com o mesmo nome em diferentes blocos de código sem afetar umas às outras.

Exemplo 8: Referências de objetos e coleta de lixo

public class Demo08 {
    
    
    public static void main(String[] args) {
    
    
        {
    
    
            School school1 = new School(); // new一律分配在堆
            School school2 = school1;
            School school3 = school1;
            // GC的垃圾回收机制,记录这块堆空间,引用数1+1+1
            school1.name = "艾溪湖小学";
            school1.show();
        }
        // school1被回收了,GC的垃圾回收机制感应到栈变量school1回收了,引用数0
        // GC的垃圾回收机制,就会考虑回收
        System.gc();
    }
}

No Exemplo 8, demonstramos os conceitos de referências de objetos e coleta de lixo. Quando um objeto não é mais referenciado, ele pode ser recuperado pelo mecanismo de coleta de lixo.

Exemplo 9: Formatação de números

public class Demo09 {
    
    
    public static void main(String[] args) {
    
    
        // Object 生命类型
        System.out.printf("八进制:%o,十进制:%d,十六进制:%x", 20, 20, 20); // ctrl+p (parameter)
    }
}

Por fim, no Exemplo 9, mostramos como utilizar printfo método para formatar e exibir números em diferentes bases.

Resumir

Este artigo apresenta os conceitos básicos de definição de classe e criação de objetos em Java e como aplicar esses conceitos na programação prática. Através de exemplos, mostramos como criar diferentes tipos de classes, como acessar as propriedades e métodos dos objetos e como utilizar esses objetos em um programa para implementar diversas funções. Esses conceitos básicos são os pilares da programação orientada a objetos e são muito importantes na programação Java. Os leitores podem usar os exemplos e conceitos deste artigo para entender melhor como projetar e usar classes e objetos para desenvolver aplicativos Java de maneira mais eficaz.

Acho que você gosta

Origin blog.csdn.net/qq_42531954/article/details/132766348
Recomendado
Clasificación