Day12-2-面向对象编程

Day12-面向对象编程

一 回顾

变量,数组,对象都是容器,都可以用来存储数据

let n = 10
let arr = [3,5,7]
let stu = {name:"张恒",age:18,sex:"女"}

image-20230129123839420

二 面向对象思想

面向过程:将开发的步骤按照顺序一步一步往下执行,直到程序结束

面向对象:将项目中要涉及到对象抽取出来,每个对象负责自己那一部分数据,对象之间相互调用完成业务

类:一类事务的统称
对象:某一个具体的事务
	对象的属性:对象的特性(年龄,身高,肤色,性别)
	对象的方法:对象的行为(学习,睡觉,吃饭,跑步,打架)

三 对象的创建

image-20230129131958749

先造模具:模具就是类

function Student(name,sex,age){
    this.name = name
    this.sex =sex
    this.age =age
}

然后把类作为模具来创建对象容器

//使用类创建对象
let stu1 = new Student()
stu1.name = "赵日天"
stu1.sex = "男"
stu1.age = 20
console.log(stu1);

//使用类创建对象
let stu2 = new Student("李杀神","男",21)
console.log(stu2);

//使用类创建对象
let stu3 = new Student("王诛魔","女",22)
console.log(stu3);

let stu4 = new Student("刘斩仙","男",23)

练习:创建对象把下面5件商品的信息存储起来,并打印输出

image-20220718174012766

四 对象中的方法

img

五 继承

父类

function Student(name,sex,age){
    this.name = name
    this.sex =sex
    this.age =age
    // 类方法
    this.eat = function(){
        console.log(this.name+"吃饭");
    }
}

子类

/**
 * 继承
 * A类(子类)继承Student类(父类)
 * 子类继承父类,子类拥有父类所有的属性和方法
 */
function A(){
    Student.call(this)
}

子类对象

//创建对象
let a = new A()
a.name = "赵昊"
a.sex = "男"
a.age = 200
console.log(a);
a.eat()

六 new

new的作用:调用构造函数实例化对象

new的过程中干了哪些事情:

创建一个空对象,并在内存中开辟相应的空间,将它的引用赋给 this
通过 this 将属性和方法添加至这个对象
最后返回 this 指向的新对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给你提供一个简单的示例代码,用于实现一个课程表的功能。 ```python class Course: def __init__(self, course_name, course_time): self.course_name = course_name self.course_time = course_time class Schedule: def __init__(self): self.schedule = {} def add_course(self, day, course_name, course_time): if day not in self.schedule: self.schedule[day] = [] self.schedule[day].append(Course(course_name, course_time)) def get_schedule(self): for day, courses in self.schedule.items(): print(day) for course in courses: print("\t", course.course_time, course.course_name) # 示例用法 my_schedule = Schedule() my_schedule.add_course("Monday", "Math", "9:00-10:30") my_schedule.add_course("Monday", "Science", "11:00-12:30") my_schedule.add_course("Tuesday", "English", "10:00-11:30") my_schedule.get_schedule() ``` 这个示例代码中,我们定义了两个类 `Course` 和 `Schedule`。`Course` 类表示一个具体的课程,包括课程名称和上课时间;`Schedule` 类则表示一个课程表,其中包含了每天的课程安排。在 `Schedule` 类中,我们定义了 `add_course` 和 `get_schedule` 两个方法,分别用于添加课程和输出课程表。 在示例中,我们先创建了一个 `Schedule` 对象 `my_schedule`,然后通过 `add_course` 方法添加了几个课程,最后调用 `get_schedule` 方法输出了整个课程表。输出结果如下: ``` Monday 9:00-10:30 Math 11:00-12:30 Science Tuesday 10:00-11:30 English ``` 你可以根据自己的需要修改这个示例代码,添加更多的功能和属性,来实现一个更完整的课程表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值