什么是对象?
对象(object),台湾译作物件,是面向对象(Object Oriented)中的术语,既表示客观世界问题空间(Namespace)中的某个具体的事物,又表示软件系统解空间中的基本元素。
在软件系统中,对象具有唯一的标识符,对象包括属性(Properties)和方法(Methods),属性就是需要记忆的信息,方法就是对象能够提供的服务。在面向对象(Object Oriented)的软件中,对象(Object)是某一个类(Class)的实例(Instance)。
按照我自己的理解是,世界的万物都是对象,对象是一个整体对外提供一些操作比如:收音机,这就是一个对象
什么是面向对象?
1.不管内部,专注使用,会使用对象的方法即可 2.学会构造新对象。
面向对象,是一种通用思想并非只有编程中能用,任何事情都可以用。
例如,你会使用收音机,但是不需要知道收音机是有什么构成的。
var arr=new Array();
arr就是对象:
js中的面向对象
面向对象编程(OOP)的特点:
1、抽象
抽象的重点在于‘抽’ ,抽的意思就是说抓住核心的东西。最核心的 信息。
2、封装
这里说的封装和函数的封装很相似。这里所说的封装的含义是说别人写好的。以后用的时候不用考虑他内部实现,重点会使用就行。
3、继承
继承就是遗传的意思。就是继承父类的功能,并且还拥有自己的功能。
4.多态
组件的开发
对象的组成
方法——函数:过程、动态的。
属性——变量:状态、静态的。
对象:属性和方法构成的,(其实就是挂载在某个对象上面的变量和函数)
var arr=[1,2,3];
arr.length //属性
arr.push();//方法
那么怎样写构造函数呢
构造函数(constructor)是一种特殊的方法 。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。构造函数的功能主要用于在类的对象创建时定义初始化的状态。这是教科书上的解释,可能有的还不太能理解。那么我们就通过几个实例对构造函数做进一步的了解。
如下代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var obj=new Object();
//比如就拿用户名,密码比较
obj.name='张三';//属性
obj.Password='123456';
obj.showname=function(){//方法
alert(obj.name);
}
obj.showPassword=function(){
alert(obj.Password);
}
obj.showname();//弹出obj中用户名的值
obj.showPassword();//弹出obj中密码的值
//现在是只有一个对象的情况。那如果有两个对象呢用同样的方法
var obj1=new Object();
obj1.name='李四';//属性
obj1.Password='645321';
obj1.showname=function(){//方法
alert(obj1.name);
}
obj1.showPassword=function(){
alert(obj1.Password);
}
obj1.showname();//弹出obj1中用户名的值
obj1.showPassword();//弹出obj1中密码的值
</script>
</head>
<body>
</body>
</html>
什么是工厂方式
用构造函数创建一个类
1.原料:创建一个新的对象
2.加工:为新对象添加属性
3.出厂:返回新对象
什么是原型
原型是一个对象,其他对象可以通过它实现属性继承。
每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象,这个对象的用途是包含可以由特定类型的实例共享的属性和方法。
什么原型链
当从一个对象那里调取属性或方法时,如果该对象自身不存在这样的属性或方法,就会去自己关联的prototype对象那里寻找,如果prototype没有,就会去prototype关联的前辈prototype那里寻找,依次类推,从而形成了所谓的“原型链”。
简单来讲:实例对象与原型之间的连接,叫做原型链
什么是类和对象?
var arr=new Date();
arr叫做对象,Date叫做类。