面向对象思想概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类与对象的关系如图

在这里插入图片描述

把大象装进冰箱
	面向过程:
		动作有哪些呢?
			A:打开冰箱门
			B:装进大象
			C:关闭冰箱门
			
		代码体现;
			class Demo {
				public static void main(String[] args) {
					/*
					System.out.println("打开冰箱门");
					//打开冰箱门的东西,我现在仅仅是为了演示,就写了一个输出语句
					//其实,它可能需要做很多操作。
					//这个时候代码就比较多一些了
					//假设我要多次打开冰箱门,
					//代码一多,每次都写一遍,麻烦不
					//我们就应该用方法改进
					
					System.out.println("装进大象");
					System.out.println("关闭冰箱门");
					*/
					
					//写了方法以后,调用就改变了
					open();
					in();
					close();
				}
				
				public static void open() {
					System.out.println("打开冰箱门");
				}
				
				public static void in() {
					System.out.println("装进大象");
				}
				
				public static void close() {
					System.out.println("关闭冰箱门");
				}
			}
	
	面向对象:
		我们怎么才能更符合面向对象思想呢?
			A:有哪些类呢?
			B:每个类有哪些东西呢?
			C:类与类直接的关系是什么呢?
			
		把大象装进冰箱的分析? (如何分析有哪些类呢?UML。名词提取法。)
			A:有哪些类呢?
				大象
				冰箱
				Demo
			B:每个类有哪些东西呢?
				大象:
					进去
				冰箱:
					开门
					关门
				Demo:
					main方法
			C:类与类直接的关系是什么呢?
				Demo中使用大象和冰箱类的功能。
				
		代码体现:
			class 大象 {
				public static void in() {
					System.out.println("装进大象");
				}
			}
			
			class 冰箱 {
				public static void open() {
					System.out.println("打开冰箱门");
				}
				
				public static void close() {
					System.out.println("关闭冰箱门");
				}
			}
			
			class Demo {
				public static void main(String[] args) {
					冰箱调用开门
					大象调用进去
					冰箱调用关门
				}
			}
  1. 栈有个特点:先进后出,后进先出。
  2. 一个对象内存图

在这里插入图片描述

  1. 两个对象内存图
    在这里插入图片描述
  2. 三个对象内存图
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lixue_yang/article/details/88566991