小谈面向对象

面向对象的一个好处就是可以把抽象的东西对象化,具体化,使用起来就十分方便。
举个例子:tomcat封装了http请求,请求中的每一个元素都被封装成Request的一个属性。这样当我们发送一个http请求时,所有元素都分别分派给Request的一个实例,使用的时候就只操作这个实例就行了。而不用每次使用时都去解析http请求,是不是方便许多了。下面是Request封装的属性:

org.apache.coyote. Request:
public final class Request {
// --------------------------------- Instance Variables
private int serverPort = -1;
private MessageBytes serverNameMB = MessageBytes.newInstance();
private int remotePort;
private int localPort;
private MessageBytes schemeMB = MessageBytes.newInstance();
private MessageBytes methodMB = MessageBytes.newInstance();
private MessageBytes unparsedURIMB = MessageBytes.newInstance();
private MessageBytes uriMB = MessageBytes.newInstance();
private MessageBytes decodedUriMB = MessageBytes.newInstance();
private MessageBytes queryMB = MessageBytes.newInstance();
private MessageBytes protoMB = MessageBytes.newInstance();
// remote address/host
private MessageBytes remoteAddrMB = MessageBytes.newInstance();
private MessageBytes localNameMB = MessageBytes.newInstance();
private MessageBytes remoteHostMB = MessageBytes.newInstance();
private MessageBytes localAddrMB = MessageBytes.newInstance();
private MimeHeaders headers = new MimeHeaders();
private MessageBytes instanceId = MessageBytes.newInstance();
………
}
/*org.apache.tomcat.util.buf.MessageBytes:这是 一个接近底层的字符串处理类,为什么说是接近底层,是因为socket接收进来的都是字节类型,而java用的是char或者String,这之间的转换 涉及到编码问题和性能问题,所以凡是socket收进来的信息,全部都用这个类表示,只有当要输出字符串的时候,才会将里面的字节进行转换,实现一种延迟 加载的懒模式,被Tomcat底层所使用的Request类,就是大量使用了这个类来存放数据。*/


这里只是举了个小例子来抛砖引玉,面向对象的水是很深的,至于你信不信,我反正信了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值