首页 > 其他分享 >day18面向对象

day18面向对象

时间:2022-10-24 19:55:30浏览次数:52  
标签:obj name 对象 面向对象 构建 var day18 属性

概述:面向对象是一种编程思想(oop),是对面向过程的一个抽取和简化。主要是以类构建对象,来存储对应的行为及属性,将抽取的行为作为方法,对应的属性为属性,所有内容都可以抽取为一个对象(关键点:找有对应行为的对象完成这个行为)

面向对象和面向过程

面向过程以过程为核心

面向对象以对象为核心

对象的构建

调用new关键词 执行对应的构造函数来构建对象

通过类来构建对象(构造器)es6

class Person{
constructor(username){
this.name = username
}
}
var person = new Person('jack')

通过构造函数来构建(es3)

//以构造函数构建 首字母大写
function Dog(name){
this.name = name //函数里面的this指向它的调用者 在new的时候指向对应的对象实例
}
var dog = new Dog('旺财')

这两种方式核心是通过构造函数(构造对象的函数)来构建

通过构造函数进行的操作

自动构建对象

手动设置属性

自动返回对象

通过工厂模式来构建对象

手动构建对象

手动设置属性

手动返回对象

//以工厂模式来构建
//工厂里面要传入对应的属性 返回对应的对象(不能区分类型)
function factory(name){
//Object是最大的对象 手动构建对象
var obj = new Object()
//手动给obj设置相关的属性
obj.name = name
//手动返回对应的对象
return obj
}
//调用
var obj = factory('旺财')
var obj1 = factory('jack')
console.log(obj,obj1);

工厂模式的特性
可以构建所有的对象
在构建对象的时候会忽略细节
构建出来的对象都是Object(instanceof全部指向Object)

console.log(obj instanceof Object);//true
console.log(obj1 instanceof Object);//true

面向对象的三大属性

封装(行为抽取为方法 属性抽取为属性)

继承(子类继承父类的属性和方法)

多态(继承关系的体现 重写(子类重写父类的方法)重载(在一个类有两个同名的方法js不允许 没用重载))

class Person{
constructor(){
// var sex = '男'
this.name = 'jack'
this.say = ()=>{
console.log('哈哈哈哈');
}
}
}
class Son extends Person{
constructor(age){
super() //调用Person的constructor
this.age = age
//重写
this.say = ()=>{
console.log('嘻嘻嘻嘻');
}
}
}
var son = new Son()
console.log(son);//name say age
son.say() //嘻嘻嘻嘻

 

标签:obj,name,对象,面向对象,构建,var,day18,属性
From: https://www.cnblogs.com/zmfhtml5/p/16822585.html

相关文章

  • day18-线程
    线程创建线程方式:继承thread类,重写run()方法,调用start开启线程 1publicclassTestThreadextendsThread{2@Override3publicvoidrun(){4......
  • 219 . 面向对象 (上) 封装性与隐藏
    219.面向对象(上)封装性与隐藏·为什么需要封装?封装的作用和含义?我要用洗衣机,只需要按一下开关和洗涤模式就可以了。有必要了解洗衣机内部的结构吗?有必要碰电动机吗?......
  • 面向对象编程 封装继承
    访问修饰符访问修饰符访问级别public公有地,外部可以访问protected受保护的,只有本类和派生类才能够访问private私有的,只有本类中可以访问封装字段......
  • 初始面向对象编程
    OOP面向对象编程类的结构classStudent{}类与对象classProgram{//主方法(程序入口)staticvoidMain(string[]args){//张三是Student实例......
  • 狂神说Java面向对象
    初识面向对象面向对象和面向过程面向过程思想步骤清晰简单,第一步做什么,第二步做什么....面对过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模......
  • 面向对象三大特性之封装
    封装的概述封装应该有两个含义,一是把对象的属性和行为看成一个密不可分的整体,将两者封装在对象中。另一层含义是“信息屏蔽”,把不需要外界知道的信息隐藏起来,有些对象的属......
  • 面向对象的三个基本特征?-小白妹
    面向对象的三个基本特征是:封装、继承和多态。继承:让某个类型的对象获得另一个类型的对象的属性的方法。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例......
  • 面向对象
    三大特性封装利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对......
  • 面向对象三大特性
    继承:一般类只能单继承,内部类实现多继承,接口可以多继承封装:访问权限控制public>protected>包>private内部类也是一种封装多态:编译时多态,体现在向上转型和向下转型,通过......
  • 面向对象程序设计八大原则
    1.单一职责原则(SingleResponsibilityPrinciple)   每一个类应该专注于做一件事情。2.里氏替换原则(LiskovSubstitutionPrinciple)    超类存在的地......