还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
对象特性对象是面向对象编程的基本单元了解对象的特性和行为有助于更好地设计和,构建软件系统什么是对象?实体概念数据集合对象是指现实世界中的具体事物,如人、动物、汽车等对象由一组属性和方法组成,描述对象的特性和行为编程实现抽象思维在编程中对象是一种数据结构用于封装数据和相关的功能对象是对现实世界中事物的一种抽象和概括反映了事物的本,,,质对象的基本概念对象是程序设计中的基本单元它是由属性和方法构成的独立实体属性描述了,对象的特征方法描述了对象的行为对象可以相互交互实现程序的功能对象,,是面向对象编程的核心也是建立复杂系统的基础,对象的属性属性概念属性访问对象的属性是描述对象特征的键值对属性包含了对象的状态信息可以通过点符号或者中括号来访问对象的属性点符号更常见和简和数据洁属性类型属性定义属性可以是数字、字符串、布尔值、数组、对象等多种数据类型可以在对象创建时定义属性,也可以在运行时动态添加或修改属性对象的方法方法定义方法调用方法重载对象的方法是对象内部封装的一段可复用的可以通过点运算符或者方括号语法来调用对对象方法可以根据参数个数或类型的不同来程序代码,用于实现对象的某些特定功能象的方法,传递必要的参数来执行特定操实现多种功能,提高代码的灵活性和复用作性对象的事件事件监听器在对象上注册的函数用于响应特定事件的发生触发时会自动调用,事件冒泡事件从目标对象开始向上逐层传播直到抵达最外层的节点,DOM事件捕获事件从最外层的节点开始向下逐层传播到目标对象DOM对象的数据类型基本数据类型引用数据类型自定义数据类型动态类型对象包含基本数据类型如整对象还可以包含引用数据类开发者还可以自定义复杂的数对象的数据类型可以在运行时,数、浮点数、字符串、布尔值型如数组、函数、日期等据类型比如类、接口等用于动态变化这给开发带来了灵,,,,等这些数据类型是对象的基这些数据类型具有更复杂的结更好地描述和组织对象的结构活性但也增加了复杂性开发础定义了它们的基本行为和构和行为可以存储更多信和功能者需要谨慎管理对象的数据类,,特性息型对象的创建实例化1通过关键字创建对象实例new工厂方法2利用工厂函数生成对象构造函数3自定义初始化对象的构造器Object.create4以指定原型创建新对象对象的创建有多种方式包括直接实例化、工厂方法、构造函数以及利用方法每种方式都有自己的特点和适用场景开发者需根据,Object.create,需求选择合适的创建方式对象的赋值直接赋值1直接将一个对象赋值给另一个变量两个变量指向同一个对象属性赋值2给对象的属性赋值可以新增或修改对象的属性,方法赋值3给对象的方法赋值可以新增或修改对象的行为,对象赋值是一个非常常见的操作它可以让我们快速地拥有一个新的对象副本不同的赋值方式可以实现不同的目的如直接赋值、属性赋,,值和方法赋值我们需要根据具体需求选择合适的赋值方式对象的比较2==对象操作符比较两个对象是否相等使用进行值比较=====!==严格操作符不等于使用进行值和类型比较使用检查对象是否不相等===!==在对比对象时可以使用相等操作符来比较它们的值或使用严格操作符,==,===来比较它们的值和类型此外还可以使用不等于操作符检查对象是否不相!==等对象的拷贝创建对象副本通过复制对象的属性和方法可以创建一个新的对象副本这对,于保护原始对象免受修改很有帮助浅拷贝与深拷贝浅拷贝仅复制对象的引用而深拷贝则会递归复制所有属性即使,,它们是嵌套对象拷贝的应用场景对象拷贝常用于数据备份、状态保存和对象传递等场景确保数,据的完整性和安全性对象的存储数据库存储文件存储云端存储将对象信息存储在数据库中可以方便持久以文件形式存储对象数据可以方便读取和利用云计算服务将对象数据存储在云端可,,,化保存和管理数据库具有专业的数据管理共享文件存储适合小规模对象管理需注以实现跨设备访问和备份云端存储具有高,功能适合大规模对象存储意安全性和兼容性可用性和弹性扩展能力,对象的访问直接访问属性通过索引访问动态访问方法访问继承属性可以使用点运算符()访问也可以使用中括号来访问对借助可以使用.[]hasOwnProperty对象的属性如象的属性如方法检查属性是否为对象自身,,Object.getOwnPropertyDe这是最常见的这种方式或等所有或用操作符检查属性obj.property obj[property]scriptor Reflect.get,in访问方式简单直观比较灵活可以使用变量作为方法可以动态获取对象属性是否存在于原型链上,,,属性名的特性如值、可写性等,对象的修改属性值修改方法调用修改12通过赋值语句可以修改对象的调用对象的方法可以改变对象属性值,如新名的内部状态,如obj.name=称obj.updateInfo属性动态添加属性动态删除34可以在运行时动态添加新的属使用关键字可以删除对delete性到对象上,如象的属性,如obj.newProp delete新属性值=obj.name对象的删除删除属性删除对象使用关键字可以删除对象通过将对象赋值为或delete null的属性删除后的属性将不再出可以完全删除整个对undefined现在对象中象被删除的对象将不再占用内存空间安全删除在删除对象属性或对象本身时,需要确保该对象确实存在否则会出现错,误对象的遍历顺序遍历1使用循环语句逐个访问对象的属性和方法,这是最常见的遍历方式属性遍历2利用语句遍历对象的所有可枚举属性,包括继承的属for...in性Object.keys3使用方法获取对象自身的所有属性键,然后遍Object.keys历这些键对象的枚举对象属性遍历获取属性名列表属性定义对象枚举通过循环可以遍历对象的所有可枚可以使用方法获取对象自身通过属性描述符可以控制对象属性是否可以for...in Object.keys举属性,包括自身属性和从其原型继承的属可枚举属性的名称组成的数组被枚举遍历性对象的继承继承层次结构多重继承继承与多态对象的继承是通过建立父子类之间的继承关对象还可以实现多重继承即一个子类可以继承和多态是面向对象编程的两大核心概,系来实现的子类可以继承父类的属性和方同时继承多个父类的属性和方法这样可以念它们互相关联、相互补充继承实现了,法,并且还可以添加新的属性和方法增强对象的功能和灵活性代码的复用多态则提高了代码的灵活性,对象的多态形式多样动态绑定对象的多态性允许同一个对象具对象在运行时根据具体情况动态有多种形式和行为从而能够适应调用相应的方法无需在编译时绑,,不同的场景和需求定特定的实现代码复用接口隔离多态性可以提高代码的复用性降多态性可以实现对象之间的松耦,低开发和维护成本提高系统的扩合提高系统的灵活性和可维护,,展性性对象的封装信息隐藏数据保护抽象层次模块化设计将对象内部的属性和方法封装通过封装可以确保对象的数封装有助于提高抽象层次使封装促进了模块化设计降低,,,起来对外部隐藏对象的实现据不会被外部随意访问和修代码更易于理解和使用开发了各模块之间的耦合度提高,,细节只暴露必要的公共接改从而保护对象的完整性者无需关注对象内部的实现细了代码的灵活性和可复用性,,口这提高了代码的可靠性和节可维护性对象的抽象概念化对象抽象通过忽略不相关的细节将现实世界中的事物概念化为具有基本特性的对象模,型分层设计对象抽象支持通过分层设计的方式将复杂系统划分为更简单、更清晰的子系统,思维引导对象抽象帮助我们以更清晰、更有条理的方式思考问题提高设计和开发的效率,对象的接口定义接口接口实现12接口是一种抽象类型它定义了其他类可以实现接口并提供具,,一组方法和属性用于描述对象体的方法实现这样可以实现,的行为和功能对象的多态性接口继承接口应用34接口也可以继承其他接口扩展接口广泛应用于软件设计中用,,接口的功能这样可以实现接于定义标准、解耦对象、实现口的分层和模块化依赖注入等对象的组合组合概念组合结构组合优势对象的组合是通过将一个或多个对象组合成组合对象包含一个或多个其他对象作为组成对象组合可以实现更灵活的设计、更简单的一个新的对象来实现复杂功能的一种设计模部分这些组成部分可以是基本对象或者也代码结构、更好的代码复用以及更强的扩展式这样可以提高代码的复用性和可维护可以是复合对象性性对象的依赖耦合关系对象之间存在的必要关系和相互作用合理的依赖可提高代码的复用性和灵活性继承与聚合通过继承和聚合的方式实现对象之间的层次关系和组合关系抽象接口定义对象的标准行为和交互规范降低耦合度提高扩展性,,对象的聚合部分-整体关系生命周期独立聚合表示一种部分整体的关系整体对象包含若干部分对象部分对部分对象的生命周期独立于整体对象即部分对象可以独立创建和销-,,象可以独立存在但整体对象不能没有部分对象毁不会影响整体对象,,单向关联可变性聚合关系是单向的整体对象包含部分对象但部分对象不包含整体对整体对象可以动态地增加或删除部分对象部分对象的集合是可变的,,,象对象的关联关联概念实现方式对象关联是指两个对象之间存在通过给对象添加引用属性来实现某种联系这种联系可能是一对对象间的关联比如一个学生对
一、一对多或多对多的关系象可以关联到一个班级对象应用场景关联强度对象关联广泛应用于现实世界的对象关联可以有不同的强度如,各种关系中如人际关系、企业强关联、弱关联等体现了对象,,关系、社交关系等间的依赖程度对象的集合集合的概念集合的特点集合的应用场景集合的类型对象集合是一组相关的对象,•元素可以是不同的数集合在软件开发中广泛应用,•List集合可以存储不同类型和数量的对据类型如管理用户列表、购物车商集合•Set象集合提供了操作和管理这品、搜索结果等集合可以高•元素可以重复集合•Map些对象的方法效地处理大量相关对象•集合中的元素没有特定的顺序•集合提供了添加、删除、查找等操作对象的泛型类型参数化泛型集合泛型方法泛型允许类型参数化可以定义可以处理不泛型集合可以指定元素的数据类型避免了泛型方法可以定义一次然后在不同数据类,,,同数据类型的类和方法提高了代码的可重强制类型转换带来的错误提高了代码的类型上复用避免了编写重复代码的需要,,,用性和灵活性型安全性对象的反射动态获取对象信息动态创建和调用对象12反射机制允许我们在运行时动态获取对象的类型、属性和方通过反射,我们可以在运行时动态创建对象实例并调用其方法信息法动态访问和修改属性元编程和代码生成34反射提供了动态访问和修改对象属性的能力,增强了编程的反射技术还支持元编程和代码生成等高级编程功能灵活性对象的序列化数据保存跨平台共享对象序列化可以将对象转换为字序列化后的对象可以在不同平台节流,方便存储和传输和语言间共享和交换数据持久化网络传输序列化后的对象可以保存到文件序列化后的对象可以通过网络传或数据库中,实现数据的持久输,实现分布式系统间的数据交化换对象的单例唯一性单例模式确保一个类只有一个实例提供全局访问点,资源共享单例实例可以被多个部分的代码共享减少内存使用,配置管理单例模式适合管理应用程序的全局配置信息。
个人认证
优秀文档
获得点赞 0