ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-06-14 15:30:06  阅读:146  来源: 互联网

标签:Java String 对象 基础 Cat cat1 cat2 7.1 面向对象编程


文章目录

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有