CSDN的二十一学习计划打卡第四天,类与对象

打卡第四天,类与对象的学习

记得在刚开始接触到电脑编程是foxpro,我想大家可能都没有听过这个语言,那时侯,VB有一定的占用率,还拿来做病毒。那时候都是基于过程的编程。后来,面向对象编程出现并占了主导,面向各种事件,面各过程的编程方式就没人用了。

类是对具有相同属性的对象的一个抽象,就比如说,水果是一个类,它包含了苹果、梨等水果,苹果能吃吗?苹果不能吃,桌子上放的那个叫苹果的它才可以吃。这就是类与对象。能明白我的这种表达吗?最早开始接触到时不能明白,为什么同样叫苹果,又是能吃又是不能吃的。听我再讲讲

车子是一个类,具有四个轮子,长度、宽度、速度,颜色等这些属性,有鸣喇叭的这个方法,也有可以遮雨这个功能。由车子这个类再派生出小汽车,小汽车是从车子这个基类派生出来的,如果派生类与基类一模一样,就没有派生的意义了,所以派生是为了更准确地满足新的类,如货车。货车还增加了一些其它的属性,或是方法,货车不再是四个轮子,而是前两个,后面四个轮子了,所以由车子派生出来的子类货车,货车有父类车子的属性与方法,同时也有自己的属性与方法,这四个轮子是父类的属性,而6个轮子是子类的属性。

一般父类不常去修改,而在子类中去完善子类的特有方法与属性,这样子比父类多出来的属性与方法就是子类的私有属性与方法。程序在运行时,先完成当前类的属性与方法,如果当前类没有的方法再去父类去找方法。因此,还有一种情况,就是子类与父类有相同的方法,但继承自父类的方法不能满足子类的任务,就在子类中重写这个方法,这种行为就是方法的重构。为什么不直接修改父类的方法呢?这个问题放在我们现实的世界里,以实事求事的观点来看,这个方法是子类才有的方法,如果改了父类,由父类派生出的其它类就会相应变化,这样就会出现你没想到的情况出现--怎么消防车有了货车的方法,比如你在货车这个子类上写了个升降货厢的方法,但你把这个方法写到父类里了,由父类继承过来的消防车也有了升降的方法,这就有问题了。不知这样说,大家能不能从我的解释中理解。

我们写程序,就是用一种程序语言来描述现实的一种世界,比如说我们写一个企业的信息管理系统,就是定义与这个信息系统相关的人员与事物,以及之间的关系和动作。这些东西都描述完了,编程也就完成了。编程是电脑世界的一种模仿现实世界的工作。所以写程序代码是一种翻译。难的是看清现实世界的对象与关系,用程序的语言去写,就是学会如何去划分各个小零件,再把小零件组成完整的机器。

定义类的目的是为了实例化一个真实的对象出来,给我们使用,我们不可以直接用类,那个类是抽象的,像极了一种名称,但它不是实物,更像是我们头脑中的一种称呼,这称呼当然不能吃了,所以实例化就是由类定义出来的桌子上的苹果。这就是实例化,只有实例化的对象才可以使用。在后面我们会接触到ORM,也就是通过类的属性来对表中的数据进行增删改查。

类,我是这样看的。再说多些就是class 类名(父类):,还有一个关键的习惯,就是self,看到这个你就想到这是实例,指由类创建的实实在在可以动用的实例,如我说的桌子上的那个苹果。在Java里是不用self而用this,一个意思。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值