#浅谈面向对象

浅谈面向对象

一,概念

  • 对象(Object):
    含有“物体”的概念,一切皆物体(对象),是实际存在的该类事物的每个个体,因此也称之为实例。对象由静态的属性和动态的行为组成。
  • 类:
    是一组具有相同属性和行为的对象的抽象,概念上的定义;
  • 类和对象的区别:
    类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。对象如果将对象比作汽车,那么类就好比汽车的设计图纸。

二,面向对象的一些基本的特征:
(1)封装:保护内部的操作不被破坏;隐藏内部实现,稳定外部接口。
(2)继承:在原本的基础之上继续进行扩充;继承即是让一个类拥有另一个类的某些属性和方法的特性。
(3)多态:在一个指定的范围之内进行概念的转换。

三,创建方式
(1).new 操作符 + Object 创建对象
(2).字面式创建对象
以上两种方法在使用同一接口创建多个对象时,会产生大量重复代码,为了解决此问题,工厂模式被开发
(3).工厂模式
工厂模式解决了重复实例化多个对象的问题,但没有解决对象识别的问题(但是工厂模式却无从识别对象的类型,因为全部都是Object,不像Date、Array等,本例中,得到的都是o对象,对象的类型都是Object,因此出现了构造函数模式)。
(4).构造函数模式
对比工厂模式有以下不同之处:1、没有显式地创建对象2、直接将属性和方法赋给了 this 对象3、没有 return 语句
(5).原型模式
原型模式的好处是所有对象实例共享它的属性和方法(即所谓的共有属性)
四,操作方法
Object.assign()
通过复制一个或多个对象来创建一个新的对象。
Object.create()
使用指定的原型对象和属性创建一个新对象。
Object.defineProperty()
给对象添加一个属性并指定该属性的配置。
Object.is()
比较两个值是否相同。所有 NaN 值都相等(这与=不同)。。
Object.keys()
返回一个包含所有给定对象自身可枚举属性名称的数组。
Object.values()
返回给定对象自身可枚举值的数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值