我的编程空间,编程开发者的网络收藏夹
学习永远不晚

es6中什么是类的静态成员

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

es6中什么是类的静态成员

本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

面向对象

面向对象的主要思想就是把需要解决的问题分解成一个个对象,建立对象不是为了实现一个步骤,而是为了描述每个对象在解决问题中的行为,面向对象的核心是对象

面向对象的优势:

  • 模块化更深,封装性强
  • 更容易实现复杂的业务逻辑
  • 更易维护、易复用、易扩展

面向对象的特征:

  • 封装性: 对象是属性和行为的结合体
  • 多态性: 同一消息被不同的对象接收后 会产生不同的效果
  • 继承性: 子类可以继承父类的信息

ES6面向对象语法

ES6:ES是ECMAScript的简写,它是JavaScript的语法规范。ES6是在ES5基础上扩展,增加了面向对象编程的相关技术以及类的概念。

类和对象

:具有相同属性和行为的集合称为类(类是对象的抽象),类中的大多数数据只能用本类的方法进行处理。
对象:是类的实例(是类的具体化)

class关键字:用来定义类的

class 类名{// "类名"是一个用户标识符 通常建议首字母大写
           属性;
           函数;
}

构造函数

在ES6中使用constructor()来定义构造函数,作用是初始化对象的属性(成员变量),构造函数不是必须的,若用户没有定义构造函数,系统会生成一个默认的、无参的构造函数。

普通的成员函数

函数名([参数]){
     函数体语句
}
变量名 = function([参数]){
      函数体语句
}
            class Person{
                constructor(name,age,sex){// 构造函数 初始化对象的成员
                    this.name = name;// this指向构造函数新创建的对象
                    this.age = age;
                    this.sex = sex;
                }
                    tt = function(){ //普通的成员函数
	                    console.log(this.name);
	                    console.log(this.age);
	                    console.log(this.sex);
                	}	
            }
            var p = new Person('李相赫',25,'男')// p1是一个对象 通过调用构造函数对p1的三个属性进行了初始化
            p.fun();
        class Circle{// 定义类Circlie
            constructor(r){
                this.radius = r;
            };
            area(){ // 计算圆的面积
                var s = Math.PI*this.radius**2;
                return s;
            };
            // 计算圆的周长
            CircleLength = function(){
            return 2*Math.PI*this.radius;
            };
        };
        var c1 = new Circle(5);
        console.log('半径为5的圆的面积='+c1.area());
        console.log('半径为5的圆的周长='+c1.Circle_length());

结果如下:

在这里插入图片描述

		// 用类实现简单的四则运算
        class Number{// 定义类Number
            constructor(n1,n2){
                this.n1=n1;
                this.n2=n2;
            };
            add(){
                var sum = this.n1+this.n2;
                return sum;
            };
            sub(){
                var sum1 = this.n1-this.n2;
                return sum1;
            };
            mut(){
                var sum2 = this.n1*this.n2;
                return sum2;
            };
            p(){
                if(this.n2!=0){
                    var sum3 = this.n1/this.n2;
                    return sum3;
                }
            }
        }
        var p1 = new Number(12,21);
        console.log(p1.add());
        console.log(p1.sub());
        console.log(p1.mut());
        console.log(p1.p());

ES6中类的继承

在JavaScript中,继承用来表示两个类之间的关系,子类可以继承父类的一些属性和方法,在继承以后还可以增加自己独有的属性和方法。

语法:

class 子类名 extends 父类名{
       函数体语句;
};

关于继承需要注意:

  • 父类必须已经定义
  • 子类又称为派生类 可以继承父类的属性和函数
  • 子类不能继承父类的构造函数

super关键字

子类不可以继承父类的构造函数,如果要调用父类的构造函数可以使用super关键字。

**注意:**在子类的构造函数中使用super调用父类的构造函数,则调用语句必须作为子类构造函数的第一条语句

调用父类构造函数

super([参数])

调用普通成员函数

super.函数名([参数])

方法覆盖

若子类中定义的函数与父类中的函数同名,子类函数覆盖父类中的函数,可以在子类中调用父类的同名的普通成员函数来解决

        class Father{ //父类(基类或超类)
            constructor(type,color){
                this.type = type;
                this.color = color;
            }
            money(){
                console.log(100);
            }
            show(){
                console.log('类型:'+this.type);
                console.log('颜色:'+this.color);
            }
        }
        class Son extends Father{ //Son是子类(又称派生类)
            constructor(type,color,weight){
                super(type,color); //调用父类的构造函数 要放在首位
                this.weight = weight;
            };
            show(){
                super.show();// 调用父类的普通成员函数
                console.log('重量:'+this.weight);
            };
            other(){
                return '子类的其他方法';
            };
        };
        var s1 = new Son('iPhone 12','黑色','3000g');//s1为子类的实例
        s1.show();
        console.log(s1.other());

在这里插入图片描述

静态成员和实例成员

静态成员:通过类名构造函数访问的成员

实例成员:通过实例对象访问的成员称为实例成员

区别:

  • 实例成员属于具体的对象,而静态成员为所有对象共享
  • 静态成员是通过类名构造函数访问,实例成员是通过实例化的对象访问

在ES5中定义静态属性

        function Student(name,age,sex){
            Student.school = '西安邮电大学';// school是静态成员
            this.name = name;
            this.age = age;
            this.sex = sex;// name age sex都是实例成员
            this.show = function(){
                console.log('姓名:'+this.name);
                console.log('年龄:'+this.age);
                console.log('性别:'+this.sex);
            };
        };
        var f = new Student('李相赫',23,'男');
        f.show();
        console.log(Student.school);// 西安邮电大学
        console.log(f.school);// undefined

在ES6中静态属性定义

1、先创建类

2、在类的外部定义静态属性:类名.静态属性名

        class Foo{
            constructor(){
                this.color = '红色';// color是实例成员
            }
        }
        Foo.prop = 45;// prop是静态成员
        var f1 = new Foo();
        console.log('静态属性:'+Foo.prop);// 45
        console.log(f1.prop);// undefined

在ES7中静态属性定义

在类定义时 使用static关键字定义静态属性

        class Foo{
            static prop = 45; //prop是静态成员
            constructor(){
                this.color = '红色';
            }
        }
        var f2 = new Foo();
        console.log('静态属性:'+Foo.prop);// 45
        console.log(f2.prop);// undefined

类和构造函数的区别

类中的成员方法是定义在类中的,使用类创建对象后,这些对象的方法都是引用了同一个方法,这样可以节省内存空间。

	class Person {
		sing(){
			console.log('hello');
		}
	}
	var p1 = new Person();
	var p2 = new Person();
	console.log(p1.sing === p2.sing);	// 输出结果:true

以上就是es6中什么是类的静态成员的详细内容,更多请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

es6中什么是类的静态成员

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

es6中什么是类的静态成员

在es6中,由类直接调用的属性和方法叫静态成员。在类里面对变量、函数加static关键字,那它就是静态成员;静态成员不会被实例化成为新对象的元素。静态成员和实例成员的区别:1、实例成员属于具体的对象,而静态成员为所有对象共享;2、静态成员是通过类名或构造函数访问,实例成员是通过实例化的对象访问。
2022-11-22

es6类的静态成员是什么

本篇内容主要讲解“es6类的静态成员是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“es6类的静态成员是什么”吧!在es6中,由类直接调用的属性和方法叫静态成员。在类里面对变量、函数加sta
2023-07-04

C#中静态类和静态类成员的区别是什么

C#中静态类和静态类成员的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#静态类和静态类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立
2023-06-17

C++的static静态成员是什么

今天小编给大家分享一下C++的static静态成员是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、静态成员即在定义前
2023-06-29

怎么理解C++类的静态成员变量与静态成员函数

本篇内容介绍了“怎么理解C++类的静态成员变量与静态成员函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、类的静态成员变量C++类的静态
2023-06-25

VB.NET中静态成员有什么用

本篇文章为大家展示了VB.NET中静态成员有什么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。VB.NET静态成员在面向对象编程语言中,有一种被称作静态成员的特殊的类成员,VB.NET也有静态成员
2023-06-17

C++中怎么初始化类静态成员

这篇文章将为大家详细讲解有关C++中怎么初始化类静态成员,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C++类静态成员初始化相关实现代码介绍:class mytestclass {
2023-06-17

c++静态成员变量的作用是什么

c++中的静态成员变量是属于类的成员变量,而不是属于类的特定对象。静态成员变量只有一个副本,而不是每个对象都有一个副本。静态成员变量通常用于表示属于整个类的属性或状态,可以在不创建类的实例的情况下对其进行访问和修改。静态成员变量可以在类的定
c++静态成员变量的作用是什么
2024-03-11

C++类的静态成员有哪些

本篇内容介绍了“C++类的静态成员有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在静态成员函数的实现中不能直接引用类中说明的非静态成员
2023-06-17

如何理解C++类的静态成员

这期内容当中小编将会给大家带来有关如何理解C++类的静态成员,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。静态数据成员的值对每个对象都是一样,这些对于一些专业的程序员来说进行静态成员函数实现是一件非常头疼
2023-06-17

怎么理解C++的静态成员变量和静态成员函数

怎么理解C++的静态成员变量和静态成员函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一.static修饰变量void text() {static int a = 10;a
2023-06-22

java静态成员变量赋值的方法是什么

Java静态成员变量赋值的方法是通过在静态代码块中为该变量进行赋值。静态代码块是在类加载时执行的一段代码块,可以用来初始化静态成员变量。可以按照以下方式进行赋值:```javapublic class MyClass {public sta
2023-09-15

c++中的静态成员怎么声明

本篇内容主要讲解“c++中的静态成员怎么声明”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c++中的静态成员怎么声明”吧!引言有时候需要类的一些成员与类本身相关联,而不是与类的每个对象相关联。比
2023-06-19

详解Python中的静态方法与类成员方法

前言 因为Python的水平目前一直是处于能用阶段,平时写的脚本使用的Python的写法也比较的简单,没有写过稍微大一点的项目。对Python中的类,类之间的组织关系,整个项目中类之间如何耦合还缺乏认识。打算读一读别人写的Python代码来
2022-06-04

C++类的静态成员变量实例分析

本文小编为大家详细介绍“C++类的静态成员变量实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++类的静态成员变量实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、成员变量的回顾通过对象名能够访
2023-06-30

C++中的静态数据成员怎么使用

这篇文章主要讲解了“C++中的静态数据成员怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++中的静态数据成员怎么使用”吧!在C++这个开发环境中,对静态成员函数和静态数据成员一样,
2023-06-17

编程热搜

目录