面向对象编程(基础篇)

面向对象和面向过程的区别

面向过程:强调步骤
面向对象:强调对象
分析:比如围棋程序
面向过程:
1、黑棋落子
2、绘制棋盘
3、判断输赢
4、白起落子
5、绘制棋盘
6、判断输赢
7、黑棋落子
而面向对象:
1、棋子
2、棋盘
3、规则
对象的初步概念:看到的、想到的、有形的、无形的事物都
是对象。
概括来说就是万物皆为对象。

类与对象的概念

类:是具有相同属性和行为的对象的集合(模板);
对象:根据类的属性和实例创建的实例化
类:定义了对象的属性和方法
    通过类可以实例化多个该类的对象,每个对象的属性值不同,
可以说类好比设计图纸,而对象好比根据图纸建设出来的楼房   

举例和思考

类:  学生
对象:小明 小红 小张
思考:
类:  水果
对象:  苹果 西瓜 芒果
很明显,苹果有红苹果、绿苹果、和各种品种的苹果
所以苹果也是类 
面向对象:面向对象的思想已经不仅仅是编程思想,已经扩展到
设计,测试等各个方面,面向对象指的是以对象为基本单位去分
析、设计以及实现系统。

构造函数和对象的关系

a.普通构造法
function Student(name,id,score){
     this.name=name;//通过this指针,来对属性与行为绑定
     this.id=id;
     this.score=score;
     
     this.showInfor=function(){
     document.write("我就是隔壁老王:"+""+this.name
     +""+this.id+""+this.score)
     }
     }
     //let 对象名=new 构造方法(形参);
     var s=new Student(1,"老王",1)
     s.showInfor();
     var s1=new Student(2,"小明",2);
     s1.showInfor();

ES6构造方法

class 类名{
类体;
构造方法中通过this来添加属性
普通方法中不要用this添加
}
class Student{
constructor(id,name){
this.id=id;
this.name=name;
}

showVlaue(){
console.log(this.id+","+this.name)}
}
let s=Student(1,"老王");
let s1=Student(2,"l老李")

类与类的关系:关联

关联关系:对象和对象之间的连接。在面向对象中,关联
         关系的代码表现形式为一个类的对象作为另一个
         类的属性类型存在。
         即“有”的关系:“has-a”。
 <script>
class Birthday{
constructor(newY,newM,newD){
  this.year=newY;
  this.month=newM;
  this.day=newD;
}
showValue(){
console.log(this.year,this.month,this.day)
}
class Student{
 constructor(newId,newName,newBir){
 this.id=newId;
 this,name=newName;
 this.Bir=newBir}
}
showValue(){
document.write(this.id,this.name,this.Bir.day);
this.Bir.showValue()
}

}
let Bir=new Birthday(333,444,555);
let s=new Student(11,"小明",Bir)


</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值