面向对象(1):思想、类与对象及其使用

面向对象(1)

一、面向对象的介绍

1、什么是面向对象的思想
    面向对象的思想是基于面向过程思想发展而来的。

    面向过程:强调的是实现功能每一个步骤
    面向对象:强调的是对象,然后由这个对象去调用功能

2、面向对象的特点:
    1) 是一种更符合我们思想习惯的思想
    2) 可以将复杂的事情简单化
    3) 将我们从执行者变成了指挥者
举例:
    吃饭:
        面向过程的思想:先去菜市场买菜--洗菜--切菜--做菜--装盘--吃
        面向对象的对象:点外卖--你(点菜)--厨师(做菜)--外卖小哥(送餐)

    打水:
        面向过程的思想:拿起水杯--走到饮水机面前--选择热水还是冷水--接水--喝
        面向对象的思想:祈求同桌去打水--同桌走到饮水机面前--接水--你喝水
例:把大象装进冰箱
   分析:     大象类:
                   属性:体积,鼻子,脚掌,耳朵...
                   功能:被装进冰箱,喝水,叫...
             冰箱类:
                   属性:立方体,材质,功率...
                   功能:打开冰箱门,关闭冰箱门,冷藏,保险...
               		
             测试类:(通过引用大象类、冰箱类来实现我们的需求)
               		 main方法,实现需求
    伪代码实现:
		class Elephant{	//第1步:创建一个大象类
			体积;
			鼻子;
				
			被装进冰箱();	//被装进冰箱这个方法
			喝水();		//喝水这个方法
			}
=========================================================			
		class IceBox{		//第2步:创建一个冰箱类
			立方体;
			材质;
				
			打开冰箱门();	  //打开冰箱门这个方法
			冷藏();		  //冷藏这个方法
			}
==========================================================
		class Demo{	  //第3步:创建一个测试类
			public static void main(String[] args){
			调用冰箱类中打开冰箱门的方法;
			调用大象类中被装进冰箱的方法;
			调用冰箱类中关闭冰箱门的方法;
			}
		}

二、面向对象开发,设计,特征

1、面向对象的开发:
    实际上就是不断创建对象,使用对象,指挥对象做事情的过程
2、面向对象的设计:
    其实就是管理和维护类与类之间的关系的过程
3、面向对象的特征:
    1、封装
    2、继承
    3、多态
4、类与对象之间的关系
类:是一组成员变量和成员方法的集合,是一个抽象的概念
    成员变量==========属性:用来描述事物的信息(类似于外在的:五官、身高、姓名、年龄)
    成员方法==========行为:用来描述事物能够做什么(类似于动态的:吃饭、学习、睡觉、喝水)
    
对象:是该类事物的具体表现,具体到某一个个体(类似于职务:老师,学生,程序员)
5、定义学生类		事物========对应======类
   			属性========对应======成员变量
   			行为========对应======成员方法

          事物(学生)=================类(Student)
          属性:学号,姓名,年龄=========成员变量:id,name,age
          行为:吃饭,学习,睡觉=========成员方法:eat(),study(),sleep()

            回顾:(给类起名字:所有单词首字母大写)
                (给变量或方法起名字:第一个单词全小写,第二个开始首字母大写)
====================================================================================
       步骤:第1步:定义一个学生类
            第2步:定义该类中的成员变量
                  格式:
                       (修饰符) 数据类型 变量名;
                       未系统学过修饰符,目前不用加修饰符
            第3步:定义该类中的成员方法
                  格式:
                       修饰符 返回值类型 方法名(参数列表){}
                       (目前修饰符只使用public static)
========================================================================
//第1步:定义一个学生类(public可加可不加)
public class Student {          
//第2步:定义学生类中的成员变量
    int id;                     
    String name;
    int age;
//第3步:定义学生类中的成员方法
    public static void eat(){         
        System.out.println("吃饭");	 //定义吃饭的方法
    }
    public static void study(){		  //定义学习的方法
        System.out.println("学习");
    }
    public static void sleep(){		  //定义睡觉的方法
        System.out.println("睡觉");
    }

}

8、测试类(测试学生类)
        创建对象,调用成员变量和成员方法
        步骤:
            第1步:创建一个学生对象
                   格式:
                        类 对象名(随便起)= new 类名();
            第2步:调用成员变量
                    格式:
                        对象名.成员变量名
            第3步:调用成员方法
                    格式:
                        对象名.成员方法
 ========================================================================
 在同一个java文件中,类只允许存在一个public
//第1步:定义一个学生测试类(类名不能与学生类名一样,而且需要main方法)
class StudentDemo {
    public static void main(String[] args) {
	//第1步:创建一个学生对象(想要调取手机类中的东西,必须要创建手机对象)
	//创建学生对象的类名要和手机类的名字一样:Student
	//然后给学生对象起个名字叫:xiaoli
        Student xiaoli = new Student(); 
	//第2步:调用该对象的成员变量(未赋值)
	//获取xiaoli的学号:(未赋值)系统默认值0
        System.out.println(xiaoli.id);  
        //获取xiaoli的姓名:(未赋值)系统默认null                                
        System.out.println(xiaoli.name); 
	//获取xiaoli的年龄:(未赋值)系统默认值0
        System.out.println(xiaoli.age);  

        第2步:先给成员对象赋值,然后再调用
        //赋值格式:
        //       对象名.成员变量名 = 成员变量对应数据类型的值;
        xiaoli.id = 8888;
        xiaoli.name = "李玉伟";
        xiaoli.age = 100;
        System.out.println(xiaoli.id);	 //8888
        System.out.println(xiaoli.name); //李玉伟
        System.out.println(xiaoli.age);  //100

	第3步:调用成员方法
        xiaoli.eat();
        xiaoli.study();
        xiaoli.sleep();
    }
}

        以上代码执行结果如下:
        0
        null
        0
        8888
        李玉伟
        100
        吃饭
        学习
        睡觉

        Process finished with exit code 0

总结:

1、定义一个学生类(不需要main方法):public class Student {}

(1)定义学生的成员变量	数据类型 变量名;
		int id;   String name;	 int age;

(2)定义学生的成员方法	修饰符 返回值类型 方法名(参数列表){}
		public static void eat(){}
					
2、同一个java程序中,再定义一个测试学生类(去掉public,需要main方法)
	(一个java程序中,只允许有一个public)
	class StudentDemo {
		public static void main(String[] args) {}
	{
	
(1)创建一个学生对象     类 对象名(随便起)= new 类名();
		Student  xiaoli = new  Student();
			
(2)获取未赋值的成员变量,只能写输出语句
		System.out.println(xiaoli.id);
			
(3)给成员变量赋值	对象名.成员变量名 = 成员变量对应数据类型的值;
		xiaoli.id = 8888;	xiaoli.name = "李玉伟";
(4)然后再获取赋过值的成员变量
            System.out.println(xiaoli.id);
            
(5)调用成员方法	对象名.成员方法
			xiaoli.eat();
			xiaoli.study();
posted @ 2021-12-03 22:38  阿伟宝座  阅读(127)  评论(0)    收藏  举报