七、面向对象

1. 程序的概念:

I. 程序是为了模拟现实世界、解决现实问题而使用计算机语言编写的指令集合。

2. 现实世界组成:

I. 程序员眼中,世界是由无数个对象组成的。

3. 什么是对象:

I. 一切客观存在的事物都是对象,万物皆对象。
II. 初期:看得见、摸得着、并真实存在,都是对象。

4. 对象有什么:

I. 任何对象,一定有自己的特征和行为。

5. 特征和行为:

I. 特征:称为属性,一般为名词,代表对象都有什么。
II. 行为:称为方法,一般为动词,代表对象能做什么。

6. 程序中的对象:

I. 程序如何模拟现实世界?
1). 现实世界中,都是对象,程序中也应有对象。
2). 程序当中必须具有和现实中相同的对象,用以模拟。
3). 使用程序中的对象,代表现实中的对象,并执行操作,解决现实问题。
II. 现实生活中的对象从哪里来?
手机 -> 工厂 -> 图纸(模板)
III. 现实与程序:
1). 现实中的对象,来自于模板,通过模板造出来的实体,即是现实的对象。
2). 程序中的对象,来自于模板(“类”),通过类造出来的实体,即是程序中的对象。

在这里插入图片描述

7. 定义类、创建对象:

class Dog{
    
    
	String breed;
	int age;
	String sex;
	String furColor;
	
	public void sleep() {
    
    
		System.out.println("eating...");
	}
}

8. 类与对象的关系:

I. 类:定义了对象应具有的特征和行为,类是对象的模板。
II. 对象:拥有多个特征和行为的实体,对象是类的实例。

在这里插入图片描述

类的方法外只能定义成员变量,别的啥都干不了!!
PS:
属性、实例变量、成员变量,三者等价
实例方法、成员方法,二者等价

9. 方法重载(Overload):

I. 在一个类中定义多个相同名称的方法。
II. 要求:
1). 方法名称相同
2). 参数列表不同
3). 与访问修饰符、返回值无关(只要参数不同随便你修饰符和返回值是啥都行)
III. 好处:
1). 屏蔽用户的使用差异,方便。

在这里插入图片描述

10.构造方法(Constructor):

I. 概念:类中的特殊方法,主要用于创建对象。
II. 特点:
1). 名称与类名完全相同(包括大小写)。
2). 没有返回值类型。
3). 创建对象时(new对象时),触发构造方法的调用,不可通过句点的形式手工调用。
III. 注意:如果没有在类中显示定义过构造方法,则编译器默认提供无参构造方法。
IV. 注意:如果已经手动添加过有参构造方法,则无参构造方法不再默认提供,可结合需求自行添加。(建议,必须手动添加无参构造方法)
将一个类的构造函数私有化,可以使得该类不被实例化,和不能被继承。要创建这个类的实例,唯一的办法是提供一个公共静态方法。这种方式被称为单例模式。

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

11.this关键字

I. this代表“当前实例”,即是模板中的当前对象,模板服务与哪个对象,this就指向哪个对象。
II. this第一种用法:调用本类中的实例属性、实例方法。例如:this.name、this.run()
III. this第二种用法:调用本类中的其他构造方法。例如:this()、this(实参)。注意:必须在构造方法的首行。

在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/sylvia_lily/article/details/114340713