资料内容:
1. 什么是⾯向对象编程?
⾯向对象编程(Object-Oriented Programming,简称 OOP)是⼀种程序设计范式,它使⽤“对象”作为基本单位
来设计软件。这些对象可以包含数据(属性)和⾏为(⽅法),通过定义类来创建对象,并通过对象之间的交互来
实现功能。OOP 的核⼼思想是将现实世界中的事物抽象为软件系统中的对象,便于代码的重⽤、扩展和维护。
⾯向对象编程是⼀种编程⽅式,他以对象作为核⼼来对程序进⾏设计编写。通常来说,会定义对象的属性与⽅法。
⽽在定义时涉及到类的概念,我们可以通过定义类将⼀些对象的属性抽象成为模型,⽽其中的属性与⽅法是这些对
象共有的。定义类之后呢,还可以定义⼦类,⽗类和⼦类之间就是⼀种继承关系,他们之间可以共享⽗类的属性与
⽅法,⼦类可以对⽗类的⽅法进⾏拓展和重写。⾯向对象编程还有⼀个重要的概念就是封装。封装实际上就是说将
⼀个类的属性与⽅法进⾏隐藏,对外只提供有限的公共接⼝,这样可以保障程序的相对稳定性,安全性,可维护
性。另外还有⼀个概念叫做多态,多态实质上是指同⼀个⽅法对于不同的对象可以展现不同的执⾏路径。
2. ⾯向对象三⼤特性封装、继承、多态如何理解?
封装(Encapsulation):封装是将对象的属性和⽅法隐藏起来,只对外暴露必要的接⼝,从⽽保护对象内
部的状态和⾏为不被外部⼲扰。通过封装,可以实现信息隐藏和模块化,提⾼系统的安全性和可维护性。
继承(Inheritance):继承是⼀个类(⼦类)可以继承另⼀个类(⽗类)的属性和⽅法,⼦类可以直接使⽤
⽗类的功能,并可以扩展或重写⽗类的⽅法。继承有助于代码的重⽤和扩展,形成层次结构。
多态(Polymorphism):多态是指相同的操作在不同对象上可以有不同的⾏为。在程序运⾏时,不同对象
可以根据⾃身的实现⽅式执⾏相同的⽅法。这种特性可以通过⽅法重载和⽅法重写实现。
3. 重载与重写的区别与联系?
重载(Overloading):在同⼀个类中,⽅法名相同但参数列表不同的⽅法叫做重载。重载不关⼼返回类
型,只关⼼⽅法名和参数列表(参数的类型、数量和顺序)。重载是⼀种静态多态性(编译时多态性)。
重写(Overriding):在⼦类中重新定义⽗类中的⽅法,⽅法名、参数列表和返回类型必须与⽗类的⽅法完
全相同。重写允许⼦类提供特定实现以代替⽗类的实现。重写是⼀种动态多态性(运⾏时多态性)。