java_DAY06:面向对象

理解面向对象和面向过程的区别?

盖房子

过程:设计结构,办手续,买砖头,买水泥,打地基,砌墙,封顶,装饰设计,买装修材料,装修,入住

使用2种语言来描述盖房子的这件事情,C, java

C语言实现盖房子这件事情:- 面向过程的语言

我要设计

我要去办手续

我要买砖头

我要买水泥

我要打地基

我要砌墙

我要封装

我要装修设计

我要买材料

我要装修

C面向过程,以过程为核心,每一个过程/流程都需要自己亲力亲为的去实现,

 

Java - 面向对象,以对象为核心,不需要关心每一件事情具体的步骤,以结果为导向

包工头:设计结构,买砖头,买水泥,打地基,砌墙,封顶

装修公司:装饰设计,买装修材料,装修

我:办手续,入住

 

吃饭:

买菜,洗菜,炒菜,做饭,装米饭,洗碗

面向对象:我去饭店,我负责吃,

 

面向对象:以结果为中心,不关注具体的过程,更符合现代人的思考方式

 

在计算机中奖所有内容都当作对象来看待

静态的属性:描述一个对象的固有的特征, - 一般是一个名词,姓名:冷萌, 性别是女的,身高1.8M, 头发是红色的,

动态的属性:能干嘛?一般是一个动词。吃饭,睡觉,运动,唱歌

小狗:

静态属性 - 属性:性别:母,品种:藏獒,颜色:green, 年龄:33

动态属性 - 方法:吃饭,叫,狗刨,大便

 

33号:

属性: - 名词 - 固有的特征

职业:xxx, 编号:xxx, 姓名:xxx , 性别:xxx 

方法: - 动词-能干嘛

   写代码, 吃饭,洗澡, 喝水

23号:

属性: - 名词 - 固有的特征

职业:xxx, 编号:xxx, 姓名:xxx , 性别:xxx 

方法: - 动词-能干嘛

   写代码, 吃饭,洗澡, 喝水

 13号

属性: - 名词 - 固有的特征

职业:xxx, 编号:xxx, 姓名:xxx , 性别:xxx 

方法: - 动词-能干嘛

   写代码, 吃饭,洗澡, 喝水

发现:  同一类型的对象中,他们都有相同的属性和方法,   -- 抽取成一个模板 -

类:具有相同属性和方法的对象的集合

方鹏 - 个体,人 - 对象

学生:是一个群体,一批人,

类和对象 ?  - 记住

对象:用来描述一个实实在在的个体,由属性(固有的属性,一般是一个名称)和方法(动词,能干嘛)组成

类:类是抽象的,

 

1:理解对象的属性和方法

对象:用来描述客观事物的一个实体,由一组属性(静态特征)和方法(动态特征)构成;

属性:用来描述对象的固有特征,一般是名词;

方法:用来描述对象的动作,这个对象能干嘛,一般是动词;

2:类和对象的关系

举例理解:学生对象

 

 

 

两个学生对象,他们有共同的属性和行为(方法),但是属性的值是不一样的,

在开发中我们可以把具有共同属性和方法的同类型的对象进行抽取,制作成一个模板,这个模板就叫做“类”

因为类是从对象中抽取的,所以类也是有属性和方法组成的。

 

类仅仅是一个模板,描述了同一类型对象的共同属性和方法

对象:是通过这个模板创建出来的一个实实在在的个体

记忆:类和对象的关系  --- 记住

类是抽象的,对象是具体的

类是具有相同属性和行为(方法)的对象的集合

对象是类的一个实例,是一个具体的实体,是由属性和方法构成的。

代码:先创建一个类 -- 创建这个类的对象 -- 调用属性和方法

3:创建类和对象

使用java实现类和对象的关系

1:创建一个类(属性和方法) 

2:通过这个类创建对象 

3:使用对象名调用属性和方法,对象名.属性名 , 对象名.方法名();

4:使用对象

 创建对象:

类名 对象名 = new 类名();

School center = new School();

引用对象成员使用"."进行下列操作

引用类的属性:对象名.属性

引用类的方法:对象名.方法名()

center.name="ly"//给name赋值

center.showCenter();//调用showCenter方法

5:方法

5.1:方法的定义

方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果

方法定义类的某种行为(或功能), 是功能的实现

记忆:

方法五要素:修饰符,返回值类型,方法名,参数列表,方法体。 - 记住

public void show(){

       System.out.println("姓名:" + name + ",年龄:" + age);

}

方法中返回值介绍

如果方法有返回值,方法中必须使用关键字return返回某个值,返回值类型为该值的类型,且返回值只能有一个。

return的作用:结束方法,返回结果。

注意:当调用有返回值的方法时,需要定义一个变量接受

如果方法没有返回值,返回值类型为void

有返回值:

public String getName(){

      return name;

}

无返回值

public void show(){

       System.out.println("姓名:" + name + ",年龄:" + age);

}

5.2:方法的调用

问:如何调用一个类的方法?

明确:你要调用哪个类的哪个方法?

1:创建这个类的对象

2:对象名.方法名();

5.3:方法间的调用

方法之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率

Student 类的方法 a()调用Student类的方法b(),直接调用

public void a(){

b();

}

Student类的方法a()调用Teacher类的方法b(),先创建类对象,然后使用"."调用

Public void a(){

Teacher t = new Teacher();

t.b(); //调用Teacher类的b()  

}

上一篇:004、python 运算符 和 字符串操作


下一篇:Java系列教程day06——循环语句