基础语法《第十二关》过关锦囊
使用规则
恭喜你顺利通过第十一关!!愿此锦囊能大大帮助你学习,辅助你理解课程内容!!
如何获得锦囊?
山腰课程一共5关(第10到第14关),这个学期我会根据你的学习动态发放3~5个锦囊。即:
每日过一关,则每日打卡都可以得到下一关的锦囊,连续5天打卡即可通关!!
如有建议或想法,可以私聊反馈哦~
课程内容
模型构建
相信初次接触面向对象编程的同学到这一关都会对这几个如:类,对象,实例化,self等等几个词语陌生而且还不知所云。
我认为哈,构建一个模型去消化这些专业的概念,再去理解这些名词的含义,就不会太吃力啦。
最近中秋,不妨以月饼为例。我们是一个月饼作坊,有个模具叫‘类’,以小括号作为机器的开关。
月饼 = 类( ),就会获得一个实实在在(实例化)的月饼。
月饼.属性里面的点,是‘的’的意思,访问这个实例化之后看看馅儿、颜色等等(属性)。
月饼.方法( ),这里也有个括号,用于调用这个月饼对象能做什么。
self应该怎么理解呢?
是实例的替身?这么解释也是似懂非懂。我们再回到作坊里做月饼好了:
实际上,我们希望这个磨具可以多种多样地做不同月饼,想做冰皮月饼,五仁的,豆沙的...
此时,我们用同一个模具(类),做不同的月饼(实例化对象),所以馅儿不一样。于是在一个机器中,我们三种月饼同做,就要区分开
我们发现,传进去的材料(参数)是不同的,而模具(类)是同一个,self因为材料不同而指代不同的月饼(实例)。那么’是实例的替身‘这个形容会不会更清晰一些呢?
助教心得
如果第一次阅读课程内容不理解也是很正常的,毕竟名词陌生,模型也未构建,所以需要我们重复去消化理解,这也是编程学者必经的步骤哦。
平时不妨回头看看课程内容,保证每次你都会有新收获~
什么时候要初始化,什么时候可以不用,有点晕
类,封装了方法
调用方法,肯定是要传参的(因为方法就是用来处理数据的,一定要传入数据呀)
但是类是一般需要实例化了之后,才调用里面的方法,所以我们不能直接给方法传参。而是需要实例化的时候,根据这个对象的不同=》传不同参数。
小明的成绩 99,小红的成绩88,小刚的成绩77;那么三位同学是三个对象,初始化的时候对应的分数是不同的。
什么情况下不需要用初始化?
不需要的时候,就是不需要参数的类。但是一般很少,因为不需要参数的类能做什么呢?倒不如不用定义这个类。
定义一个只做一个事情的类,对比起来,倒不如直接做这件事吧~~