看着那个只属于七夕节的 gifts 变量
老过像看着自己白衬衫上的油渍一样难受
以后每次收费时都会生成一个
只有七夕节才会用到的变量
都是因为老板的需求太奇葩
才让这个程序看起来乱糟糟的
由于这个类做了修改
本来已经测试通过的代码又得重测一遍
阿对打开了 LoversDayBill 类
将其修改如下
当老板看完老过和阿对的代码后
再次兴奋地提出新需求时
老过顿时晕了过去......
比赛真是太焦灼了
最后赢得奖励的是?
第三个参赛者
老板的傻儿子
他完全不会写程序
但他使用 Ctrl C,Ctrl V
拷贝了阿对的代码
面试常见考点在面试中,面向对象的常见考察点是三个基本特征:封装、继承、多态。
- 封装
- 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
- 继承
- 继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来类的情况下对这些功能进行扩展。通过继承创建的新类称为「子类」或「派生类」,被继承的类称为「基类」、「父类」或「超类」。
- 要实现继承,可以通过 继承和组合 来实现。
- 多态性
- 多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单说就是一句话:允许将子类类型的指针赋值给父类类型的指针。
- 实现多态,有两种方式,覆盖和重载。两者的区别在于:覆盖在运行时决定,重载是在编译时决定。并且覆盖和重载的机制不同。例如在 Java 中,重载方法的签名必须不同于原先方法的,但对于覆盖签名必须相同。
我对面向对象的理解:面向对象的编程方式使得每一个类都只做一件事。面向过程会让一个类越来越全能,就像一个管家一样做了所有的事。而面向对象像是雇佣了一群职员,每个人做一件小事,各司其职,最终合作共赢!