Java面向过程/对象开发方式

目录

面向过程的开发方式

 耦合度高导致扩展力差。

耦合度低导致的扩展能力强。

面向过程有什么优点?(快速开发)

面向对象的开发方式。

面向对象包括三大特征(核心)

什么是类?

什么是对象?

类的定义

        怎么定义一个类,语法格式是什么?

变量的分类

        变量根据出现位置进行划分:

构造方法

使用new运算符来调用构造方法:


面向过程的开发方式

        主要特点:注重步骤,注重的是实现这个功能的步骤。

  •  耦合度高导致扩展力差。

        例如:集成显卡,计算机显卡不是独立的,是集成到主板上的,表示耦合度高。但是当显卡坏了,不能正常使用的时候又无法像独立显卡一样更换,表示扩展能力差。

  • 耦合度低导致的扩展能力强。

        例如:独立显卡,计算机显卡是独立的,可以自由的拆卸,表示耦合度低,当需要更换显卡时,可以自由更换,或是跟换更好的显卡也都可以,表示扩展能力强。

面向过程有什么优点?(快速开发)

        对于小型项目(功能),采用面向过程的方式进行开发,效率较高,不需要前期进行对象的提取,模型的建立,采用面向过程方式可以直接开始干活,一上来直接写代码,编写因果关系,从而实现功能。

面向对象的开发方式。

        采用面向对象的方式进行开发,更符合人类的思维方式。

        人类就是以“对象“的方式去认识世界的。

        所以面向对象更容易然我们接受。

  1. OOA:面向对象分析(Object-Oriented Analusis)
  2. OOD:面向对象设计(Object-Oriented Design)
  3. OOP:面向对象编程(Object-Oriented Programming)

面向对象包括三大特征(核心)

  •         封装
  •         继承
  •         多态

类就是一个模板:类中描述的是所有对象的”共同特征信息“,对象就是通过类创建的个体。

  • 类:不存在的,人类大脑思考总结一个模板。
  • 对象:实际存在的个体。
  • 实例:对象还有另一个名字叫做实例。
  • 实例化:通过这个模板创建对象过程,叫做:实例化。
  • 抽象:多个对象具有共同特征,进行思考总结抽取共同特征过程。

什么是类?

        类实际上在现实世界当中是不存在的是一个抽象的概念是一个模板是现实世界当中某些事物具有共同特征,将这些共同特征提取出来形成的概念就是一个”类“,类就是一个模板

什么是对象?

        对象是实际存在的个体。(真实存在的个体)

类的定义

        怎么定义一个类,语法格式是什么?

[修饰符列表] class 类名{

        //类体 = 属性 + 方法
        //属性在代码上以"变量"的形式存在(描述状态)
        //方法描述动作/行为
}

        //注意:修饰符列表可以省略

变量的分类

        变量根据出现位置进行划分:

                方法体当中声明的变量:局部变量

                方法体外面声明的变量:成员变量

创建对象的语法是什么?

new 类名();

类是一个模板,通过一个类,是可以创建N多个对象。

Student s1 = new Student();

null是一个java关键字,全部小写,表示空,是引用数据类型的默认值。

类型默认值
byte0
short0
int0
long0L
float0.0F
double0.0
booleanfalse
char\u0000
引用数据类型null
public class Student {
     int age;
     String name;
}


public class Test{
    public static void main(String[] args){
   
        Student student1 = new Student();
        student1.age = 111;
        student1.name = "张三";
    
    }

}

构造方法

  1.         构造方法是一个比较特殊的方法,通过构造方法可以完成对象的创建,以及实例变量的初始化,换句话说:构造方法是用来创建对象,并且同时给对象的属性赋值。注意:实例变量没有手动赋值的时候,系统会赋默认值。
  2. 重点(需要记忆):当一个类没有提供任何构造方法的时候,系统会默认提供一个无参数的构造方法。(而这个构造方法被称为缺省构造器。)
  3. 语法格式
    [修饰符列表] 构造方法名(形式参数列表){
            构造方法体;
    }//通常在构造方法体当中给属性赋值,完成属性的初始化。
    
    注意:第一:修饰符列表目前统一写:public
         第二:构造方法名和类名必须一致
         第三:构造方法不需要指定返回值类型,也不能写void
    
        

    使用new运算符来调用构造方法:

new 构造方法名(实际参数列表);

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java面向对象 1 1 学习方法与要求 1 2 面向对象语言面向过程语言的区别 7 3 面向对象?什么对象? 8 4 什么是类? 9 5 如何创建一个类Class? 10 6 如何使用类创建对象 10 7 引用与实例 11 8 实例属性与实例方法 11 9 实例属性与实例方法的使用 12 10 实例属性属于实例本身,与其他实例没有关系 13 11 javaBean编码规范 14 12 练习: 15 13 什么构造方法 16 14 构造方法的作用? 17 15 this关键字 17 16 方法调用时的引用传递还是值传递 19 17 面向对象语言的三大特性:封装,继承,多态 20 18 什么是封装?封装在哪? 20 18.1 封装的好处? 20 19 访问修饰符 20 20 面向对象的特性-继承 21 20.1 继承的关键字:extends 21 20.2 继承的语法格式: 21 20.3 继承的好处 21 20.4 Object类 21 20.5 继承是以什么方法实现的? 22 20.6 两个子类的实例,super会指向同一个父类实例吗? 23 20.7 在创建子类实例时,会创建父类实例,先创建哪个? 23 20.8 在子类构造方法中如何调用父类构造方法? 23 20.9 super关键字 24 20.10 父类中私有属性和私有方法可以继承吗? 24 20.11 在代码开发时先开发父类还是先开发子类? 24 20.12 父类是怎么来的? 25 20.13 父类中放的所有子类的共性。子类可以有自己的特性。 26 20.14 方法重写(核心@Override) 28 20.15 练习: 29 20.16 作业题: 31 21 类与类之间的关系 32 22 GC:垃圾回收机制 33 23 Object类 33 23.1 常用方法:boolean equals(Object) 33 23.2 常用方法:String toString() 34 24 继承整理 34 25 面向对象三大特性:多态(核心) 34 25.1 多态的前提? 35 25.2 什么是多态? 35 25.3 父类的引用指向子类实例时,父类引用可以调用哪些方法? 35 26 引用类型的自动类型与强制类型转换 36 27 多态的应用 37 27.1 在使用多态时的一般格式: 37 27.2 练习:创建一个薪资专员(Persionnel),能计算员工工资,负责汇总当月所有员工的总工资数 38 27.3 练习:NewBasePlusSalesEmployee:针对BasePlusSalesEmployee有固定底薪的销售人员,有任务额度10K,满足任务额度正常发放,不满足任务额度发放底薪的80%,提成正常发放。 38 27.4 练习:设计一个形状类Shape 39 28 abstract关键字 41 28.1 abstract可以修饰的对象 41 28.2 抽象方法 41 28.3 抽象类 41 28.4 抽象方法与抽象类的关系 42 28.5 抽象方法与抽象类的使用 42 28.6 abstract的使用场合 42 29 练习:写一个“愤怒的小鸟”: 43 30 final关键字 43 30.1 final可以修饰到3个地方 43 30.2 引用类型加final修饰表示引用不可变 44 31 static关键字 44 31.1 static关键字可以修饰4个地方 44 31.2 静态属性 44 31.3 静态的与实例的 45 31.4 静态代码块 45 31.5 静态方法 45 31.6 静态方法是不能被继承 46 31.7 如何区分静态方法和实例方法的应用 46 31.8 静态导入(1.5新特性) 46 32 单例模式 47 32.1 饿汉模式 47 32.2 懒汉模式 47 33 接口(interface) 48 33.1 如何创建一个接口。 48 33.2 如何使用接口 48 33.3 如何使用类实现一个接口 49 33.4 接口的细节 49 34 接口的应用(面向对象分析) 49 34.1 案例(第一版,使用接口) 50 34.2 案例(第二版) 52 35面向对象设计原则 54 1、找出应用中可能需求变化的代码,把它们独立出来,不要和那些需求不变化的的代码混在一起 54 2、针对接口编程,而不要针对实现类编程 54 3、多用组合,少用继承(包含实现) 54 4、为了交互对象之间的松耦合设计而努力 54 5、类应该对扩展开放,对修改关闭 54 6、依赖倒置,要依赖抽象,不要依赖具体类 54 36 练习:超市收银 54 37 练习:接口表示一种能力,也可以是一种规范 56 38 策略模式 57 38.1 动作冒险游戏 57 38.2 类图 57 38.3 编写使用武器行为接口和实现类 58 38.4 编写角色类和子类 58 38.5 测试类 58 38.6 动作冒险游戏补丁:增加新的角色和新的技能 59 38.7 编写新的打斗行为 59 38.8 编写新的治疗行为和实现类 59 38.9 修改角色父类 60 38.10 修改King类 60 39 披萨工厂 61 39.1 编写披萨父类 61 39.2 编写各种披萨 61 39.3 编写披萨商品类 62 39.4 简单工厂 63 39.5 使用简单工厂修改商店类 63 39.6 使用简单工厂将创建对象代码单独的封装的好处? 64 39.7 使用常量优化工厂类 64 39.8 测试类 65 40 枚举(enum) 65 40.1 创建一个枚举 66 40.2 为枚举创建实例 66 40.3 如何使用枚举的实例 66 40.4 使用枚举优化披萨工厂 67 40.5 枚举类型也可以有构造方法 68 40.6 枚举类型也可以有属性 68 40.7 枚举类型也支持带参数的构造方法。 68 40.8 枚举类型也可以有实例方法 68 40.9 枚举类型也可以支持抽象方法 69 41 内部类 70 41.1 内部类的分类 70 41.2 匿名内部类 70 41.3 成员内部类 71 41.4 静态内部类 72 41.5 局部内部类 73 42 作业 :商超案例,以OOP重构 73

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懿·格雷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值