网站建设定制开发【JS高级进阶】JavaScript初识面向对象


参赛话题:

目录

前言

网站建设定制开发本篇主要讲解了什么是面向对象,网站建设定制开发如何创建使用类,super网站建设定制开发关键字的使用以及注意事项(学过Java网站建设定制开发的小伙伴们就会很容易理解)

一,网站建设定制开发面向对象介绍

面向过程网站建设定制开发就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步- 步实现 ,使用的时候再一个- 一个的依次调用就可以了。

面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作,面向对象编程具有灵活、代码可复用、容易维护和开发的优点 面向对象特性:封装,继承,多态

面向过程

●优点: 性能比面向对象高,适合跟硬件联系很紧密 的东西,例如单片机就采用的编程。

●缺点:没有面向对象易维护、易复用、易扩展。

面向对象

●优点:易维护、易复用、易扩展,由于面向对象有 封装、继承、多态性的特性,可以设计出低耦合的 系统,使系统更加灵活、更加易于维护

●缺点: 性能比面向过程低

面向对象的思维特点:

1.抽取(抽象)对象共用的属性和行为组织(封装)成一个类(模板)

2.对类进行实例化,获取类的对象

二,创建生成实例

类construtor 构造函数

constructor()方法是类的构造函数(默认方法) ,用于传递参数返回实例对象,通过new命令生成对象实例时,自动调用该方法。如果没有显示定义类内部会自动给我们创建一 个constructor()

(1)通过class关键字创建类,类名习惯性定义首字母大写

(2)类里面的constructor函数,可以接受传递过来的参数,同时返回实例对象

(3)constructor 函数只要new生成实例时,就会自动调用这个函数,即使不写这个函数,类也会自动生成这个函数

(4)生成实例new不能省略

(5)最后注意语法规范,创建类类名后面不要加小括号,生成实例类名后面加小括号,构造函数不需要加function

  1. <script>
  2. // 创建类 使用class
  3. class Star {
  4. constructor(uname, age) {
  5. this.uname = uname;
  6. this.age = age;
  7. }
  8. // 添加共有方法
  9. sing(song) {
  10. console.log(this.uname + ':' + song);
  11. }
  12. }
  13. // 利用类创建对象
  14. var sy = new Star('山鱼', 18);
  15. var xd = new Star('熊大', 10);
  16. console.log(sy.uname);
  17. console.log(sy.age);
  18. sy.sing('我的老家就住在这个屯');
  19. xd.sing('我是这个屯里土生土长的人');
  20. </script>

三,继承

儿子继承父亲的东西 extends 在继承的时候千万不要忘记 extends 哦!

  1. <script>
  2. class Father {
  3. constructor() {
  4. }
  5. money() {
  6. console.log('100w');
  7. }
  8. }
  9. class Son extends Father {
  10. }
  11. // 这样儿子就可以继承老父亲的100w啦
  12. let son = new Son();
  13. son.money();
  14. </script>

四,

1.继承中,如果实例化子类输出一个方法,先看子类有没有这个方法,如果有就先执行子类的方法 2.继承中,如果子类里面没有,就去查找父类有没有这个方法,如果有,就执行父类的这个方发(就近原则

  1. <script>
  2. // super关键字 用于访问和调用对象父类上的函数。
  3. // 可以调用父类的构造函数, 也可以调用父类的普通函数
  4. class Father1 {
  5. constructor(x, y) {
  6. this.x = x;
  7. this.y = y;
  8. }
  9. sum() {
  10. console.log(this.x + this.y);
  11. }
  12. }
  13. class Son1 extends Father1 {
  14. constructor(x, y) {
  15. // this.x = x;
  16. // this.y = y;
  17. super(x, y);// 调用父类中的构造函数
  18. }
  19. }
  20. let son1 = new Son1(2, 3);
  21. son1.sum();
  22. </script>

注意:

利用super 调用父类的构造函数super必须在子类的this之前调用

  1. <script>
  2. class Father {
  3. constructor(x, y) {
  4. this.x = x;
  5. this.y = y;
  6. }
  7. sum() {
  8. console.log(this.x + this.y);
  9. }
  10. }
  11. class Son extends Father {
  12. constructor(x, y) {
  13. // 利用super 调用父类的构造函数
  14. // super必须在子类的this之前调用
  15. super(x, y);
  16. this.x = x;
  17. this.y = y;
  18. }
  19. suntract() {
  20. console.log(this.x - this.y);
  21. }
  22. }
  23. var son = new Son(2, 3);
  24. son.suntract();
  25. son.sum();
  26. </script>

写在最后

我是,感谢您的支持
​原 创 不 易 ✨还希望支持一下
点赞👍:您的赞赏是我前进的动力!
收藏⭐:您的支持我是创作的源泉!
评论✍:您的建议是我改进的良药!
山鱼🦈社区:💌💌

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发