第四章 面向对象

面向过程和面向对象

面向过程:procedure oriented programming 缩写 POP  

面向过程直接关注流程

代表语言:C语言
解决问题的思路就是一步一步的实现
例:1.函数1();  打开冰箱门();
    2.函数2();  把大象装进冰箱();
    3.函数3();  关闭冰箱门(); 

面向对象:object oriented programming 缩写 OOP

面向对象的编程语言,是以分类的方式进行思考和解决问题.

向对象先对整体关系作出分类,然后根据不同的类深入细节的处理.

面向对象的思想符合人类的认知习惯

现在多数的编程语言,都引入了面向对象的思想
java,C++,C#,python.....javaScript,sql

例:
   先分类:
       冰箱类
       定义冰箱相关的所有的功能
            名字
            制冷
            开门
            关门
      类设计时,有个继承语法
      动物类{
          共有的功能,定义在动物类
       }
       大象类 继承 动物类
          名字
          吃东西()....
    以后凡是有与冰箱相关的操作,直接找到冰箱类即可    
    面向对象是宏观的设计把控
    而具体的实现,还是要落地到具体的过程

面向对象无法取代面向过程,他们是相辅相成的.面向对象关注于从宏观上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维方式。

java类

类是一个模板,它描述一类事物的属性和行为的集合. 类是表示一个客观世界某类群体的一些基本特征抽象

类的结构:

成员变量:事物属性的描述;

方法:事物的行为;(可以做的事情)

构造方法:初始化对象;

内部类: 即在类体中声明的类;

块:一段没有名称的代码块;

对象:
 使用的是由类这个模板,创建出来的具体的实例(对象).
     对象是类的实例(具体存在的)
     是以类为模板,在内存中创建出的具体存在的实例(对象) 
     万事万物(看得见,摸得着的东西),皆为对象

类是同一类事物的抽象,对象是根据类而创建出来的实例


 类{
    1.成员变量   属性
    2.成员方法   行为
    3.构造方法   为创建的对象成员变量进行初始化赋值
    4.代码块
    5.内部类
     } 

变量分类

按照位置变量分为:

成员变量: 成员变量是定义在类中,方法体之外的变量。 成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。在定义成 员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。成员变量 在创建对象的时候会从类中复制一份到对象中。 成员变量可以被方法、构造方法和特定的语句块访问。 成员变量的作用范围为整个类体。

局部变量: 在方法、构造方法或者语句块中定义的变量被称为局部变量。 局部变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。局部变量 在使用前必须初始化赋值。 变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁.

方法分类

成员方法:成员方法是定义在类中。

语法格式:

修饰符 返回值类型 方法名( 参数列表) {

方法体语句;

[return 返回值]

构造方法:用来初始化对象的方法

构造方法名与类名相同,且没有返回值,且不需要使用void修饰。

 作用:在构造方法中为创建的对象初始化赋值, 

在创建一个对象的时候,至少要调用一个构造方法。

每个类都有构造方法。如果没有显式地为类定义构造方法,Java将会为该类提供一个默认 构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效。 

一个类可以有多个构造方法.

方法的重载

方法的重载是指同一个类中具有相同的名字,但参数不同的多个方法。

 参数不同:数量、类型、顺序

调用时,会根据不同的参数表选择对应的方法。 

注意:方法重载跟方法的返回值类型没有任何关系.

对象与引用

Java 语言中除基本类型之外的变量类型都称之为引用类型。 

Java中的对象是通过引用对其操作的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值