扯一扯面向对象

会写这篇文章,也是因为一个商院小伙子问我的,于是就写了此文,希望他能明白。(正经脸)
要想理解面向对象,首先得知道什么是对象。有句话你也许曾听过,那就是...

万物皆对象

先举个简单的例子,比如你早上出门到学校要做一系列的准备。用面向过程的语言编写的话就是...

void main(){
    getUp();//起床
    brushTeeth();//刷牙
    haveBreakfast();//吃早饭
}

而如果用面向对象的思想来写代码。

import Human;//从某个地方导入人类这个类
主函数{
    //从人类这个类中具体化一个人比如小李
    Human XiaoLi = new Human();
    XiaoLi.getUp();
    XiaoLi.brushTeeth();
    XiaoLi.haveBreakfast();
}

从上面的代码可能还看不出面向对象的优越性,所以下面从面向对象的三大特性来看。

1.继承

所谓继承,就是子类继承父类的属性和方法。就比如说我们要描述小李会写论文,但不是所有的人类都会写论文,那我们怎么生成小李这个对象呢?我们可以再创一个新的类。
但再重新写一个类实在太麻烦了,所有就有了继承。我们让大学生这个类,继承人类的所有特性,然后在其基础上再增加写论文这个方法就ok了。

public class Students extends Human{
     增加一个写论文的方法;
}
主函数{
    Students XiaoLi = new Students();
    XiaoLi.写论文();
}

2.封装

所谓封装,是为了保护对象私有属性不被乱改。举个例子,现在我们模拟银行ATM机。你有一张卡,卡上的money就是私有属性。私有属性就是这个属性只能被类内部的方法所修改,而不能在外面直接被调用。就像一个装好的黑匣子一样,你不能对里面的一些东西进行操作,只能玩玩盒子外面的开关。而在面向对象语言里,private 关键字定义的变量或方法就是盒子里的方法,public关键字定义的就是盒子外面的开关。

public class CreditCard{
  private money = 1;
  public storeMoney(){
    存钱;
  }

}
主函数{
  CreditCard XiaoLiCard = new CreditCard();
  XiaoLiCard.money = 1000;//这个操作是错误的!!
  XiaoLiCard.storeMoney();//这个操作可以
}

3.多态

所谓多态,就是一个对象具有多种特征,在特定的情况选择你要表达的特征就好。人类分为男人和女人,男人和女人有着不同的特征。
这就用到了多态的特性。

public class man extends Human{
  ........
}
public class woman extends Human{
  .....
}
主函数{
  Human XiaoLi = new man();
  Human XiaoMei = new woman();
}

转载于:https://www.cnblogs.com/iskindar/p/9863136.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值