JS进阶类与对象

#面对对象编程和面对过程编程
##1.面对对象
根据事务分成若干个对象,根据对象的功能点,然后对象间分工合作
优点:利于复用,便于维护
特点:封装性(使用构造函数)
继承性(extends可以继承父系的方法和属性)
多态性,抽象(可以具有不同的数据类型或表现出不同的行为)
##2.面对过程
根据事务分成若干个步骤,一步一步来实现功能
优点:简单方便性能优

#类与对象
##类
class即为类,是一个泛指,比如汽车
注意:
1.class c 是小写
2.类名首字母要大写
3.在类里面定义方法 不需要加function 关键字
4.方法与方法之间不需要逗号
##对象
object即为对象,是一个具体的事物,例如比亚迪汽车,万物皆对象,包括函数,数组等都是对象
##新建类,然后使用类来新建对象

		class Person{
    		constructor(name){
       		// 构造器。
      		this.name = name;
   				 }	
			}	
		var person = new Person('zs');			//利用类,新建了person的对象,'zs'实参传递到constructor构造器中!

##类中添加方法,对象使用类里面的方法为
ldh.sing(’冰雨‘) //对象点方法(实参)

	 // 1. 创建类 class  创建一个 明星类
    class Star {
        // 类的公有属性放到 constructor 里面,后续新增的对象都可以用该属性
        constructor(uname, age) {
            this.uname = uname;
            this.age = age;
        }
        sing(song) {
            console.log(this.uname + song);
        }
    }
       // 2. 利用类创建对象 new
    var ldh = new Star('刘德华', 18);//实参('刘德华', 18)传入到constructor
    var zxy = new Star('张学友', 20);
    console.log(ldh);		//	Star{ uname:'刘德华',age:'18'}
    console.log(zxy);		//	Star{uname:'张学友',age:'20'}
    // (1) 我们类里面所有的函数不需要写function 
    //(2) 多个函数方法之间不需要添加逗号分隔
    ldh.sing('冰雨');		//刘德华唱冰雨,调用Star类里面的sing方法
    zxy.sing('李香兰');	//张学友唱李香兰,调用Star类里面的sing方法

##类的继承,和属性方法调用
继承父类的方法和属性,利用extends来继承,super关键字访问父类的方法

 class Father {
            constructor(x, y) {
                this.x = x;		//this指向被调用对象num
                this.y = y;
            }
            sum() {
                console.log(this.x + this.y);	//this指向被调用者num对象
            }
        }
        class Son extends Father {
            constructor(x, y) {
                super(x, y); //调用了父类中的构造函数
            }
        }
         	
        var num = new Son(12, 20);  			//  新增的对象为:num{x:12,y:20}
       num.sum();			//运算结果为:32
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值