美文网首页
面向对象程序设计(OOP)

面向对象程序设计(OOP)

作者: Cherry丶小丸子 | 来源:发表于2022-04-24 16:03 被阅读0次
object-class.jpg
面向对象
  • 面向对象是一种对现实世界理解和抽象的方法
  • 面向对象主要有两个概念:对象
编程中 什么是类?什么是对象?什么是实例?什么是实例化?
  • 类:类是一个模板,它描述一类对象的行为和状态
  • 对象:对象 的一个实例(对象不是找个女朋友),有 状态行为。例如,一条狗是一个对象,它的 状态 有:颜色、名字、品种;行为有:摇尾巴、叫、吃等
  • 实例:在 面向对象程序设计 中,实例化 之后叫做一个 实例 是静态的,不占进程内存,而 实例 拥有动态内存
  • 实例化:在 面向对象程序设计 中,类 创建 对象的 过程 称为 实例化
总结:

类是抽象的,对象是具体的
类是抽象的,对象是具体的是有一定的说法的;万物皆对象,而类是一系列具有共同特征的对象的统称

实例 和 对象的区别

实例 和 对象基本上是同义词,它们常常可以互换使用。对象代表了类的一个特定的实例。对象具有 身份属性 值两个特征。实例 是 对象的具体表示,操作可以作用于实例,实例可以有状态地存储操作结果。实例被用来模拟现实世界中存在的、具体的或原型的东西。

对象 就是 类的实例,所有的对象都是实例,但并不是所有的 实例 都是 对象

类(Class):定义了一件事物的抽象特点,包含它的属性和方法
对象(Object):类的实例,通过 new 生成
面向对象(OOP)的三大特性:封装、继承、多态
封装(Encapsulation):将对数据的操作细节隐藏起来,只暴露对外的接口。外界调用端不需要(也不可能)知道细节,就能通过对外提供的接口来访问该对象,同时也保证了外界无法任意更改对象内部的数据
继承(Inheritance):子类继承父类,子类除了拥有父类的所有特性外,还有一些更具体的特性
多态(Polymorphism):由继承而产生了相关的不同的类,对同一个方法可以有不同的响应。比如 Cat 和 Dog 都继承自 Animal,但是分别实现了自己的 eat 方法。此时针对某一个实例,我们无需了解它是 Cat 还是 Dog,就可以直接调用 eat 方法,程序会自动判断出来应该如何执行 eat
存取器(getter & setter):用以改变属性的读取和赋值行为
修饰符(Modifiers):修饰符是一些关键字,用于限定成员或类型的性质。比如 public 表示公有属性或方法
抽象类(Abstract Class):抽象类是供其他类继承的基类,抽象类不允许被实例化。抽象类中的抽象方法必须在子类中被实现
接口(Interfaces):不同类之间公有的属性或方法,可以抽象成一个接口。接口可以被类实现(implements)。一个类只能继承自另一个类,但是可以实现多个接口

相关文章

网友评论

      本文标题:面向对象程序设计(OOP)

      本文链接:https://www.haomeiwen.com/subject/dsvtyrtx.html