震惊!!!某教育机构一男性教师讲课流程曝光!!! 内容→面向对象(一)

第六章:类和对象

一、了解面向过程和面向对象的思想

吃货联盟订餐系统:简化的面向过程思想。
面向过程:面向方法、面向函数、结构化方法。
代码是有顺序的,需要什么功能就编写什么功能。

面向对象(OOP):它是基于面向过程产生的一种更复杂的编程思想/编程方式。从现实世界抽象而来的!它的代码执行顺序不固定。

Java是不完全的面向对象、Python面向对象、C#面向对象、C++面向对象、PHP也是面向对象的编程语言。

例:卖煎饼。面型对象是项目复杂化、规模化的必然产物。

刚开始(面向过程):自己采购 → 自己准备材料 → 自己出摊 → 自己迎接客人 → 自己做煎饼 → 自己收银 → 自己收摊

发达了(面向对象):采购部采购 → 餐饮部准备材料 → 服务员迎接客人 → 厨师做菜 → 收银员收银 → 服务员收摊

二、理解类和对象的关系

生活中的对象
万物皆对象:你身边的任何一个物体/实体都可以称之为对象。
我们在描述生活中的一个个对象时通常都会采用特征+行为的方式。
特征:属性
行为:操作、方法
对象的概念:用来描述客观事物的一个实体,由一组属性和方法构成。

生活中的类
我们在看到一群对象/实体时,会下意识进行分类(人类认识事物的必然过程)。“物以类聚、人以群分”
学生(类别)、人类、哺乳类、爬行类、猫类、灵长类、啮齿类…
类(类别):它是一个抽象的概念,它是从一群对象抽取共性的特征和行为产生的一个概念。没有办法具体拿某个对象来表示某个类别,因为对象只是类的一个个体。
生活中类和对象的关系:类是一个模板,对象是类的一个个体,是根据类这个模板而产生的个体。

程序中的类和对象
Java是一个"不完全"的面向对象的编程语言。(因为有基本数据类型存在)
它以类(引用数据类型)为基本单位,被class修饰的。

基本数据类型:byte,short,int,long,float,double,char,boolean
引用数据类型:数组、类(String就是一个类)、接口、枚举…
程序中的类和对象都是从生活中抽象而成的,你在现实中如何描述它们,程序中也是。

三、掌握类创建方式

public class 类名{
	// 1.此类的相关属性(成员变量/字段)
	// 2.此类的相关方法(成员方法/函数)
}

定义学生类

public class Student{
	// 相关属性
	姓名;
	学号;
	班级;
	专业;
	性别...
	
	// 相关方法
	学习;
	考试;
	作业...
}

定义狗类

public class Dog{
	// 相关属性
	姓名;
	品种;
	颜色;
	性别;
	年龄....
	
	// 相关方法
	吃;
	喝;
	睡;
	看见;
}

定义计算机类

public class Computer{
	// 相关属性
	品牌;
	型号;
	颜色;
	价格;
	处理器;
	屏幕尺寸;
	是否触屏;
	显卡;
	内存;
	....
	
	// 相关方法
	放歌;
	敲代码;
	打游戏;
	看电影;
	....
}

定义手机类

public class Phone{
	品牌;
	型号;
	价格;
	颜色;
	内存;
	系统;
	....
	打电话;
	发短信;
	拍照;
	....
}

定义学生类

public class Student{
	// 一组属性 (成员变量)
	/* 学生姓名 */
	public String stuName;
	/* 学生编号 */
	public int stuNo;
	/* 学生班级 */
	public int classId;
	/* 学生专业 */
	public String major;
	/* 学生性别 */
	public char gender;
	/* 学生年龄 */
	public int age;
	/* 学生成绩 */
	public double score;
	
	// 一组方法(成员方法)
	/*  学习方法  */
	public void study() {
		System.out.println(major+"专业的"+classId+"班级的"+stuName"正在好好学习!");
	}

	/*  自我介绍  */
	public void showMyself() {
		system.out.println("姓名:"+stuName);
		system.out.println("班级:"+stuclassId);
		system.out.println("专业:"+major);
		system.out.println("性别:"+gender);
		system.out.println("年龄:"+age);
		system.out.println("成绩:"+score);
		system.out.println("学号:"+stuNo);
	}		
}

四、掌握对象创建的方式

语法: 类名 对象名 = new 类名();
Student XXX = new Student(); // 基于Student模板创建了一个个体/对象
调用属性
对象名.属性名 = xxx; //赋值
对象名.属性名
调用方法
对象名.方法名();

public class Test{
	public static void main(String[] args){
		// 根据类模板产生对象
		// 创建对象(对象名的命名规范和变量名一致)
		Student zhangSan = new Student();
		Student liSi = new Student();
		// 操作 /调用属性
		zhangSan. stuName = "张三";
		zhangSan.classId = 335;
		zhangSan.major = "会计学"
		
		liSi.stuName = "李四";
		liSi.classId = 335;
		liSi.major = "建筑学";
		liSi.gender = '男';
		liSi.stuNo = 3898;
		liSi.age = 19;
		// 操作/调用方法
		zhangSan.showMyself();
		zhangSan.study();
		
		liSi.showMyself();
		liSi.study();
		System.out.println(zhangSan.stuName+"的专业是:"+zhangSan.major);	
	}
}

数据存储的技术
变量
数组:长度无法改变 存储的数据类型单一。
对象:
对象数组:Student[]…

五、掌握基本方法创建

面向过程/方法/函数,结构化方法
方法:是功能,是一系列代码的聚合,也可以理解为一个魔术箱。
基本语法

访问修饰符	返回值类型	方法名(参数列表){ // 方法声明
	// 方法体 
}
// Arrays.toString(参数); 将数组转换为字符串
public void(表示没有返回值)showMyself(){
	syso();
}

功能代码的存储空间,以后使用可以复用。

猜你喜欢

转载自blog.csdn.net/weixin_44793828/article/details/88963312