面向对象①

面向对象编程(OOP)关注于类的定义,如String、Arrays等,强调封装、继承和多态,适合解决复杂问题,具有更好的拓展性和维护性。而面向过程编程(POP)以函数为中心,按步骤解决问题,如C语言,拓展性和维护性相对较弱。类和对象是OOP的核心,类是事物的抽象描述,对象是具体存在。文章还提到了构造方法、方法重载、值传递和引用传递等概念。

面向对象①

面向过程的程序设计思想:procedure oriented programming 缩写 POP

是以函数(一个一个的功能)为结构进行代码组织,分析出解决问题所需要的步骤,然后把步骤一步一步实现。

代表语言:C语言

相对于面向对象语言,拓展能力差,后期维护难度较大。

面向对象:object oriented programming 缩写 OOP

关注的焦点是以类(一类问题/分类)单位进行组织 String,Math,Arrays,Scanner

字符串—>String类 关于字符串操作的方法,包装到String类中

数组—>Arrays 关于数组操作的类

public class 人类{

定义人有什么属性(变量)

人有什么功能

}

典型语言:Java,C++,python等

是一种设计者思维,适合解决复杂的问题,拓展性,维护性更好

开车动作简单,面向过程的思想就可以解决

造车就比较复杂,适合面向对象思想,要进行宏观分类设计,具体某一个步骤,又需要面向过程。

面向对象是一种宏观的程序设计,面向过程是具体的细节实现.

图书馆管理系统

书类

管理员类

借阅记录类

● 类(Class)和对象(Object)是面向对象的核心概念

(首字母大写):具有相同特征(同一类)的事物的抽象描述(定义)

对象:一类事物具体存在的一个个体,是真实存在的。

万事万物(大千世界中具体存在的东西)皆为对象。

人类–》一类群体,概念

张三–》具体的人,对象

编程是对现实生活事物的体现,根据现实事物进行抽象(定义),

举例:

/*对类的定义
public class 动物{
    动物都具有的属性;//
}*/
动物 小狗 = new 动物;
动物.小狗=小狗特有的属性;

类的结构:

变量:事物属性的描述(名词)

变量按照数据类型分:基本数据类型;引用数据类型

  • 成员变量(在类中定义):成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。可以不对其初始化,系统会默认进行初始化
  • 局部变量(在方法中定义):在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。局部变量不会自动初始化;方法中的参数属于局部变量。
方法:事物的行为(可以做的事情 动词)

方法是类中具有的某种功能,不加static

构造方法:初始化对象

类中没有定义时,会默认有一个无参的构造方法,在无参构造方法中为成员变量赋初始值,还可以定义有参的构造方法,通过有参的构造方法为成员变量进行初始化赋值,一旦类中定义了有参的构造方法,那么默认的无参构造方法便会失效。如果需要显示的定义无参构造方法。

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

作用: 在构造方法中为新创建的对象中的成员变量初始化

方法的重载

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

如何区分名称相同的多个方法?

通过参数的个数,类型,顺序来进行区分。

值传递和引用传递

1.形参和实参

形参也叫形式参数,是一个方法的参数列表中的参数;
实参也叫实际参数,是调用者在调用方法时实际传递的参数;

2.值传递和引用传递

值传递:(参数类型是基本数据类型):方法调用时,实参把它的值传递给对应的形参,形参只是用实参的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形参值的改变不影响实参的值。

引用传递:(参数类型是引用数据类型参数):也称为传地址。方法调用时,实参是对象(或数组),这时实参与形参指向同一个地址,在方法执行中,对形参的操作实际上就是对实参的操作,这个结果在方法结束后被保留了下来,所以方法执行中形参的改变将会影响实参。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值