编程语言
首页 > 编程语言> > Java基础-第7章-面向对象编程(基础部分)

Java基础-第7章-面向对象编程(基础部分)

作者:互联网

文章目录

7.1 类与对象

7.1.1看一个养猫猫问题

张老太养了两只猫猫:一只名字叫小白,今年 3 岁,白色。还有一只叫小花,今年 100 岁,花色。请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色。如果用户输入的小猫名错误,则显示 张老太没有这只猫猫。

7.1.2使用现有技术解决

面向对象对象之前可以解决的方法有: 1) 单独的定义变量解决 2) 使用数组解决

7.1.3现有技术解决的 缺点分析

其主要原因就是:不利于数据的管理 效率低,===》 从而引出我们的新知识点:类与对象
java 设计者 引入 类与对象(OOP) ,根本原因就是现有的技术,不能完美的解决新的新的需求.
代码呈现: Object01.java

public class object01 {

    //编写一个 main 方法
    public static void main(String[] args) {
    /*
    张老太养了两只猫猫:一只名字叫小白,今年 3 岁,白色。
    还有一只叫小花,今年 100 岁,花色。请编写一个程序,当用户输入小猫的名字时,
    就显示该猫的名字,年龄,颜色。
    如果用户输入的小猫名错误,则显示 张老太没有这只猫猫。

    */
    //单独变量来解决 => 不利于数据的管理(把一只猫的信息拆解了)
    //第 1 只猫信息
    // String cat1Name = "小白";
    // int cat1Age = 3;
    // String cat1Color = "白色";
    // //第 2 只猫信息
    // String cat2Name = "小花";
    // int cat2Age = 100;
    // String cat2Color = "花色";

    //数组 ===>
    // 1)数据类型体现不出来(
    // 2) 只能通过[下标]获取信息,造成变量名字和内容的对应关系不明确
    //(3) 不能体现猫的行为

    //    第 1 只猫信息
    // String[] cat1 = {"小白", "3", "白色"};
    // String[] cat2 = {"小花", "100", "花色"};

   // 使用 OOP 面向对象解决
    //实例化一只猫[创建一只猫对象]
    //老韩解读
    //1. new Cat() 创建一只猫(猫对象)
    //2. Cat cat1 = new Cat(); 把创建的猫赋给 cat1
    //3. cat1 就是一个对象
       //创建了第一只猫,取名为cat1
    Cat cat1 = new Cat();
    cat1.name = "小白";
    cat1.age = 3;
    cat1.color = "白色";
    cat1.weight = 10;

    //创建了第二只猫,并赋给 cat2
    //cat2 也是一个对象(猫对象)
    Cat cat2 = new Cat();
    cat2.name = "小花";
    cat2.age = 100;
    cat2.color = "花色";
    cat2.weight = 20;

    //怎么访问对象的属性呢
    System.out.println("第 1 只猫信息" + cat1.name
        + " " + cat1.age + " " + cat1.color + " " + cat1.weight);
    System.out.println("第 2 只猫信息" + cat2.name
        + " " + cat2.age + " " + cat2.color + " " + cat2.weight);
    }
}

// 把这个类定位到主类的后面。 
//使用面向对象的方式来解决养猫问题
定义一个猫类 Cat -> 自定义的数据类型
class Cat {
//属性/成员变量
String name; //名字
int age; //年龄
String color; //颜色
double weight; //重量
//double weight; //体重
//行为
}

类可以与主类卸载通过一个class文件中。
也可以写在单独的class文件中,在主类中可以调用其他类,使用import语句(如果主类和定义类在一个文件夹之下,不用导入,如果不在需要导入。)

======
一个main方法中,如果单独实例化两个对象,则互不影响,如果一个对象是由另外一个对象赋值而得到,则会相互影响
======

标签:Java,String,对象,基础,Cat,cat1,cat2,7.1,面向对象编程
来源: https://blog.csdn.net/weixin_43000547/article/details/117899052