面向对象1
来源:互联网 发布:淘宝官网客户端 编辑:程序博客网 时间:2024/06/06 18:56
1.面向对象的特点
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body></body></html><script>window.onload = function(){/*面向对象的特点:(抽象):抓住核心问题封装:不考虑内部实现,只考虑功能使用继承:从已有对象上几成出新的对象多态对象组成:方法--函数:过程、动态的属性--变量:状态、静态的*/var arr =[11,22,33,44,55];//alert(typeof(arr)); object//arr.length; 属性//arr.push(); 方法var a = 12; //变量:自由arr.a = 20; //属性:属于一个对象的//alert(arr.a);function show(){alert(a);}show(); //函数arr.fn = function(){alert(a);}arr.fn(); // 方法}</script>
2.第一个面向对象
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body></body></html><script>//this:当前的方法属于谁// var arr = [11,22,33,44,55,66,77];// arr.show=function(){// alert(this.length);// }// arr.show();var obj = new Object();obj.name ='hu';obj.sex = 'nan';obj.showName = function(){alert(this.name);}obj.showSex = function(){alert(this.sex);}obj.showName();obj.showSex();var obj2 = new Object();obj2.name ='wang';obj2.sex = 'nv';obj2.showName = function(){alert(this.name);}obj2.showSex = function(){alert(this.sex);}obj2.showName();obj2.showSex();</script>
3.工厂方式
工厂方式:
1.原料
2.加工
3.出厂
工厂方式的问题:
1没有new
2每个对象都有自己的一套函数 ——浪费资源
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body></body></html><script>//工厂方式来构造函数function creatPerson(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 = creatPerson('hu','nan');var p2 = creatPerson('wang','nv');p1.showName();p1.showSex();</script>
4.new
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body></body></html><script>function creatPerson(name,sex){this.name =name;this.sex = sex;this.showName = function(){alert(this.name);}this.showSex = function(){alert(this.sex);}}var p1 = new creatPerson('hu','nan');var p2 = new creatPerson('wang','nv');//函数前面有new的时候// p1.showName();// p1.showSex();//alert(p1.showName == p2.showName); false</script>5.new
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><script>function show(){alert(this);}show(); //windownew show(); //object 新创建一个对象</script></body></html>6.给自己的类添加方法
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body></body></html><script>function CreatePerson(name,sex){//属性:每个对象各不相同this.name = name;this.sex = sex;}//方法:所有对象都一样的CreatePerson.prototype.showName=function(){alert('我是'+this.name+'的');}CreatePerson.prototype.showSex=function(){alert('我是'+this.sex+'的');}var p1 = new CreatePerson('hulongfei','男');var p2 = new CreatePerson('maxingchen','女');p1.showName();p1.showSex();</script>
7.构造对象混合法
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body></body></html><script>function CreatePerson(name,height,sex){this.name = name;this.height = height;this.sex = sex;}CreatePerson.prototype.showName = function(){alert(this.name);}CreatePerson.prototype.showHeight = function(){alert(this.height);}CreatePerson.prototype.showSex = function(){alert(this.sex);}var p1 = new CreatePerson('hulongfei',180,'nan');var p2 = new CreatePerson('maxingchen',170,'nv');p1.showName();p2.showSex();</script>
0 0
- 面向对象(1)---多态
- java 面向对象1
- 面向对象基础1
- javascript面向对象1
- java面向对象1
- 面向对象总结1
- 面向对象笔记1
- 面向对象(1)
- 面向对象1
- 面向对象(1)
- 总结1:面向对象
- 面向对象(1)
- 面向对象1-2
- python面向对象1
- 面向对象(1)
- 面向对象设计1
- PHP面向对象(1)
- C#1面向对象
- 51Nod 1629 B君的圆锥
- React Native技术剖析(二)
- Unity 编辑器多重编辑 Multi-Object Editing
- centos6.5 安装python2.7.12
- 安卓自定义 View 进阶: 图片文字
- 面向对象1
- 创建窗口,使其能移动的代码
- CodeForces-732C-Sanatorium(模拟)
- 高性能的关键:Spring MVC的异步模式
- Android webview 加载html5 Video的视频,有时候出不来,该怎么办呢?
- BM318Maximum Product of Word Lengths
- 集合ArrayList遍历修改问题
- 初雪
- Maven 中Java代码不编译