面向对象---基础概念
2013-06-15 22:55
351 查看
什么是对象----所谓对象,就是一个具有简单功能的事物,例如:汽车,电脑,手机,水杯,他们都会提供一定的功能,自己本身是一个整体,把功能集成在自己身上。
百度百科的关于对象的定义----具有属性和方法的类实例(感觉蛮抽象的,其实在现实生活中就是具体的事物,在程序设计里面把他抽象出来)。
面向对象----Object Oriented 面向对象这个概念用处很广泛,在学数据库的时候看到过面向对象的概念,学VB的时候同样遇到过,当然现在JS同样遇到了。刚开始一听面向对象会感觉很抽象,其实简单来说就是一点,把面向对象看作是生活中的一个提供某一种功能的事物,在JS里那就是具体的封装函数,这样一个封装函数可以提供一些功能,类似于JQuery这样的库,他就可以提供很多种功能,作为前端开发的人员,虽然说没有必要知道他的具体代码,只要会使用他提供的功能就可以了,但是如果自己知道那些技术大牛是怎么写的库,写代码的思维,那就高人一筹了。
面向对象的特征:
抽象----抓住核心问题。例如今天的六级考试,把一个人抽象成姓名,准考证号来代表一个人具体的人。
封装----封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。简单来说就是封闭函数,在外面调用函数。
继承----单继承(一个子类有多个父类)和多重继承(一个子类有多个父类)-----其实继承和CSS有类似点。
多态----同一消息为不同的对象接受时可产生完全不同的行动。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。
对象的组成:
方法---函数:动态
变量---属性:静态
this属于谁,属于他的对象
window对象
函数----自由的时候叫做函数
方法----当一个函数属于一个对象的时候叫做方法
构造函数----创建一个对象
事件处理函数----事件处理的时候
构造函数:其实很容易理解,使用一个函数封装功能,其他的数据就可以调用这个函数创建新的对象,不需要多次写同一个函数。
工厂方式的问题:
没有new----new可以简化代码
资源浪费,调用同一个函数多次。(每写一次function函数创建一个新的对象
明天早上出门,暂时到这:)
百度百科的关于对象的定义----具有属性和方法的类实例(感觉蛮抽象的,其实在现实生活中就是具体的事物,在程序设计里面把他抽象出来)。
面向对象----Object Oriented 面向对象这个概念用处很广泛,在学数据库的时候看到过面向对象的概念,学VB的时候同样遇到过,当然现在JS同样遇到了。刚开始一听面向对象会感觉很抽象,其实简单来说就是一点,把面向对象看作是生活中的一个提供某一种功能的事物,在JS里那就是具体的封装函数,这样一个封装函数可以提供一些功能,类似于JQuery这样的库,他就可以提供很多种功能,作为前端开发的人员,虽然说没有必要知道他的具体代码,只要会使用他提供的功能就可以了,但是如果自己知道那些技术大牛是怎么写的库,写代码的思维,那就高人一筹了。
面向对象的特征:
抽象----抓住核心问题。例如今天的六级考试,把一个人抽象成姓名,准考证号来代表一个人具体的人。
封装----封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。简单来说就是封闭函数,在外面调用函数。
继承----单继承(一个子类有多个父类)和多重继承(一个子类有多个父类)-----其实继承和CSS有类似点。
多态----同一消息为不同的对象接受时可产生完全不同的行动。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。
对象的组成:
方法---函数:动态
变量---属性:静态
<script> /*var arr=[1,2,3,4]; var a=10; //现在的a是变量----自由的 arr.a=1; //现在的a是属性----属于某一个对象的 alert(arr.a);*/ function paxster(){ alert('bingo'); } paxster(); //函数 paxster=function(){ alert('bingostyle'); } paxster(); //方法 </script>
this属于谁,属于他的对象
<script> var paxster=[1,2,3]; paxster.show=function(){ alert(this); //this----当前的方法属于谁? } paxster.show(); </script>
window对象
function show(){ alert(this); } show();
函数----自由的时候叫做函数
方法----当一个函数属于一个对象的时候叫做方法
构造函数----创建一个对象
事件处理函数----事件处理的时候
构造函数:其实很容易理解,使用一个函数封装功能,其他的数据就可以调用这个函数创建新的对象,不需要多次写同一个函数。
<script> //用工厂方式构造对象 function createPerson(name, sex) //构造函数 { //1.原料 var obj=new Object(); //2.加工 obj.name=name; obj.sex=sex; obj.showName=function () { alert('我的名字叫:'+this.name); }; obj.showSex=function () { alert('我是'+this.sex+'的'); }; //3.出厂 return obj; } var p1=createPerson('paxster', 'boy'); var p2=createPerson('boychik', 'girl'); alert(p1.showName==p2.showName); </script>
工厂方式的问题:
没有new----new可以简化代码
资源浪费,调用同一个函数多次。(每写一次function函数创建一个新的对象
明天早上出门,暂时到这:)
相关文章推荐
- 这些基础却重要的面向对象概念,你还记得多少
- Java基础教程(4)--面向对象概念
- php面向对象基础概念(多态)
- Java基础知识:面向对象-基本概念
- 设计模式 可复用面向对象软件的基础(概念你认识多少)
- 面向对象基础(概念,优点)
- 黑马程序员——Java基础:面向对象一些概念的区分(二)
- [黑马IOS自学第十篇]OC语言基础,面向对象概念,类学习
- 【java开发】面向对象初步认识与基础概念讲解
- Java基础(极客)——09、Java面向对象中类与对象的概念和使用
- 这些基础却重要的面向对象概念,你还记得多少
- [黑马IOS自学第十一篇]OC语言基础,SELF关键字,面向对象概念,类学习多态,继承@property等
- php面向对象基础概念(接口)
- 【java基础】--(2)面向对象特征之概念、封装、继承
- JavaSE 拾遗(1)——JavaSE 面向对象程序设计语言基础(1)...基本概念和常识
- JAVA_SE基础——22.面向对象的概念
- Java面向对象基础---名词概念的理解:方法的重载、构造函数、封装性
- 面向对象的设计与实现的一些基础但重要的概念
- Java基础——对象和类1(面向对象基本概念)
- PHP面向对象学习笔记之一 基础概念