java_面向对象_概念&基本使用_1

  • 面向对象与C语言
    c语言结构体:相近的变量在一起
    类:相近的方法在一起----结合相近的变量
  • 面向对象与现实

现实世界中的每一个事物都有其属性和行为。

学生
			姓名,年龄,性别	 		//  属性:该事物的描述信息
			学习,吃饭,睡觉			//  行为:该事物能够做什么

编成语言是为了更好的模拟现实世界的,java中最基本的单位是【类】,其核心就是把事物通过类来体现。

定义一个类,其实就是定义该类的成员变量和成员方法。
类://【事物】
		成员变量   // 事物的【属性】
				和以前变量的定义是一样的格式,但是位置不同,在类中方法外。
		成员方法   //事物的 【行为】
				和以前的方法定义是一样的格式,但是今天把static先去掉。
  • 面向对象思想及特点

1.	基于面向过程的编成思想。
2.	强调的是对象,然后由对象去调用功能。 //面向过程强调的是每一个功能的步骤。
3.	更符合人的思想习惯;简化事情;从执行者变成了指挥者。

通过例子感受面向对象的思想:

  1. 买电脑:
    面向过程: 了解自己对电脑的性能需求---->找对应的硬件参数---->去京东筛选类似的---->比较选择---->买回电脑。
    面向对象:了解自己对电脑的需求---->找采购人员去买----->买回电脑
    把具体的动作打包让【方法】去完成,我们只需要调用功能模块就行了。
  • 面向对象

面向对象本质:以类的方式组织代码,以对象的方式组织(封装)数据。
面向对象适合比较复杂的,面向对象分装了面向过程。面向对象把握整体,面向过程实现细节。【管理者;分类】
类:是一组相关的属性和行为的集合;是一个抽象的概念。类是对象的抽象,抽象出像的部分。  //学生
对象:是该类事物的具体表现形式。具体存在的个体。对象是具体的事物  //班长

面向对象开发
			就是不断的创建对象,使用对象,指挥对象做事情。
	
面向对象设计
			其实就是在管理和维护对象之间的关系。

面向对象特征
		封装(encapsulation)
		继承(inheritance)
		多态(polymorphism)
  • 落地实践

在一个java文件中写两个类:一个基本的类,一个测试类,文件名称和测试类名称一致。

测试类(StudentDemo,PhoneDemo)一般只负责创建对象,调用方法,所以,这个判断应该定义在类(Student,Phone)中,所以我们将数据校验定义在方法中。

	类通过创建对象来使用。
	创建对象格式:
		格式:类名 对象名 = new 类名();		
	使用成员变量: 对象名.变量名
	使用成员方法: 对象名.方法名(...)```clike


  • 初级使用
//这是学生类
class Student {
			String name; 	//null
			int age; 	//0
			String address; //null
	
			public void study() {
						System.out.println("学生爱学习");
			}
			public void eat() {
						System.out.println("学习饿了,要吃饭");
			}
			public void sleep() {
						System.out.println("学习累了,要睡觉");
			}
}

//这是学生测试类
class StudentDemo {
				public static void main(String[] args) {
					Student s = new Student();  	//创建对象
					
					System.out.println(s.name+"---"+s.age+"---"+s.address);		//使用成员变量
					s.name = "林青霞";   		 //给成员变量赋值
					
					s.study();   //使用成员方法
				}
}
  • 给方法传入参数
class Phone {
				String brand;
				int price;
				String color;
	
				public void call(String name) {		//给方法传入参数
							System.out.println("给"+name+"打电话");
				}
				public void sendMessage() {	 
							System.out.println("群发短信");
				}
}

class PhoneDemo {
				public static void main(String[] args) {
								Phone p = new Phone();		
								
								p.sendMessage();		//无参调用
								p.call("林青霞");			//传入参数,参调用
				}
}

  • 一个案例: 把大象装进冰箱

  1. 面向过程
	面向过程:
			A:打开冰箱门
			B:装进大象
			C:关闭冰箱门
class Demo {
				public static void main(String[] args) {
								open();
								in();
								close();
				}
				
				public static void open() {
								System.out.println("打开冰箱门");
				}
				
				public static void in() {
								System.out.println("装进大象");
				}
				
				public static void close() {
								System.out.println("关闭冰箱门");
				}
			}
  1. 面向对象
将事物分析为面向对象:名词提取法
4. 有那些类:  大象  冰箱  Demo
5.  每个类有哪些东西:
	大象:进去
	冰箱:开门   关门
	Demo:  main方法
6. 类与类的直接关系
		Demo中使用大象和冰箱类的功能。
class ELephant {
	public static void in() {
					System.out.println("装进大象");
	}
}
class Refrigerator {   //冰箱
				public static void open() {
					System.out.println("打开冰箱门");
				}
				
				public static void close() {
					System.out.println("关闭冰箱门");
				}
			}
class Demo {
				public static void main(String[] args) {
					冰箱调用开门
					大象调用进去
					冰箱调用关门
				}
			}
发布了80 篇原创文章 · 获赞 0 · 访问量 1768

猜你喜欢

转载自blog.csdn.net/weixin_41272269/article/details/100704473