小左闲谈

面向对象的通俗解释

当前位置:首页 » 学习
In 学习  @2015-03-31

到底什么才是面向对象呢?怎样才能让一个完全不懂编程的人来了解这个抽象的含义?

这段文字来自那天看视频教程mars在讲面向对象,其实也是不太懂,就度娘一下,深入了解一下,结果发现这么一篇,来自百度知道,作者是热心网友,哈哈!这位热心网友深入浅出的通过日常事务讲解了面向对象,属性,方法,继承,封装,多态这些抽象定义,语言诙谐,此人一定是一个有趣的人。我所做的就是格式整理一下,分段,加标点什么的。

原文地址:面向对象倒是是什么意思?

世界上有loli控,御姐控,女王控,所以有句话就叫万物皆可控;面向对象也是一样,万物皆对象。

对象这个词你可以理解为一个总称,比如男人女人都叫人,蜡烛皮鞭高跟鞋都是道具,所以面向对象原本的意思是“都叫对象”,翻译过来不是原汁原味了而已;因此,房子是对象、飞机是对象、猫是对象、树是对象、女朋友也是对象。

并且对象具有唯一性:你家的房子是你家的,不是我家的,你在国外看到的美女不是我在国内看到的美女,你的身份证号和我的身份证号不一样;

那么一个房子里都有啥呢,有电脑,还有动作片光盘、战争片录像带、人体艺术杂志……现在这些“包含”在房子里的东西就不是东西了,而是叫做“属性”……对象、属性都有了,剩下就是方法了。

方法也很好理解啊,意思就是你想要得到某种结果,就需要用特定的方法比如你女朋友生气了要哄吧,不高兴了要逗她开心吧,“哄”和“逗”这些就是让女朋友死心塌地的方法……诸如此类,发现一个美眉要用“追”这个方法,和女朋友逛街上碰到美女要用“窥”这个方法,恋爱都要用“谈”这个方法……

对象就是一个概念,把所有的事物都称作为“对象”(没有不是对象的东西);

属性就是该事物的组成部分,所有可以被包含的部分都称为“属性”(没有不含属性的对象);

方法就是达成目标的途径,所有可行性的行为都成为方法(没有不存在方法的对象和属性,但是可以选择使用哪些方法);

所以在设计时要建立正确的对象:咱要找的是MM,不是恐龙,你建立芙蓉姐姐这个“对象”就很明显不是正常人了决定正确的对象了之后,要搞清她的脾性爱好——该对象的属性是:身高165cm,体重45kg,三围84cm、66cm、86cm,单身然后你要用正确的方法来追求,聊天(参数是时尚、美容等等……),看电影(爱情片、恐怖片、韩国泡菜),送花(3朵、11朵、999朵)。

现在该明确对象、属性、方法的定义了吧?然后就是封装、继承、多态。

封装,就是要保护好女朋友,不能被别人勾引过去,因为要让她“只能”听信你得花言巧语,没追到手前不要介绍给别人的帅哥,所以自己的老婆是自己的,不能给别人,这就是“私有性封装”。再比如,你的账户——这个对象,有钱——这个属性,你中彩票1个亿,亲朋好友都找你们借钱,你们觉得亲戚里道的,借就借呗,这钱就是“局部性封装”要是中彩票100个亿,满大街撒钱,这就是“全局性封装”。
封装就是决定该对象的使用范围,当然,你要让我帮你花我也不介意效劳的!

继承,你的家产如果不捐献的话,那么你的儿子是自然继承人,这叫单重继承,你7、8个子女分家产,这叫多重继承;并且,如果不把意外伤害受益人写成别人的,别人是不能继承的。
继承就是决定该对象的属性、方法可以被哪个对象使用。

多态,比如说你擅长做中餐,你儿子擅长做西餐,你女儿擅长做点心,现在你有一个铁哥们上你家串门吃饭,他使用吃饭这个方法——你家.吃饭(中餐),就能尝到猪肉炖粉条,使用——你家.吃饭(西餐)就能吃到牛排,使用——你家.吃饭(点心)就能尝到面点,这就是“吃饭”这个方法的多态性,因为不能限制吃饭只能吃一种东西啊,如同开门可以用钥匙,也可以划卡,还可以遥控等等
多态就是同一种方法的不同运作方式。

标签: ,   评论: 3枚 

JAVA中的类/对象/变量/方法/参数含义及区别和联系

当前位置:首页 » 学习
In 学习  @2015-03-31

  JAVA学习了半月有余,最开始对这些东西的定义还是很清晰的,但越往后面,前面的东西没那么清晰了,返回来在看这些定义,为了以后方便查阅,现在摘录一下,放在这儿。

  类:类是组成java程序的基本要素。类封装了一类对象的属性和方法。类是用来定义产生对象的模板。类的实现包括两部分:类声明和类体。
  类体分为两部分:成员变量和局部变量。
  1、成员变量和局部变更的类型可以是java中的任何一种数据类型.变量定义部分所定义的变更被称为类的成员变量,在方法体中定义的变量和方法的参数被称为局部变量。
  2、成员变量在整个类内都有效,局部变量只在定义它的方法内有效。
  3、成员变量又分为实例成员变量(实例变量)和类变量(静态变量)。、
  4、如果局部变量的名字和成员变量的名字相同,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效。
  5、如果局部变量的名字和成员变量的名字相同,则成员变量被隐藏。这时如果想在该方法内使用成员变量,必须使用关键字this.
  方法:一个类的类体由两部分组成:变量的定义和方法的定义。方法定义包括两部分:方法声明和方法体。例如:一个汽车的加速、减速、转弯、制动这些都是
该对象的方法。
  方法重载:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者参数个数不同,或者参数的类型不同。
  构造方法:是一种特殊方法,它的名字必须与它所在的类的名字完全相同,而且没有类型,构造方法也可以重载。
  类方法和实例方法
  成员变量可分实例变量和类变量。类中的方法也分为实例方法和类方法。
  1、对成员变量的操作只能放在方法中,方法可以对成员变量和方法体中自己定义的局部变量进行操作。
  2、实例方法既能对类变量操作也能对实例变量操作,而类方法只能对类变量进行操作。
  3、一个类中的方法可以互相调用,实例方法可以调用该类中的其他方法;类中的类方法只能调用该类的方法,不能调用实例方法。
  对象:类是创建对象的模板。当使用一个类创建了一个对象时,也就是说给出了这个类的一个实例。“对象”其实我们并不陌生,天天都在和我们打交道,我们写字用的笔,骑的“宝马”等,太多了,世界万物,一切皆是对象!
  属性:就是一个对象自用拥有的特性。例如:一辆汽车的颜色、重量、轮子数目、运行速度等这些都是该对象自身的属性。
  好了,了解了概念还不行。还得自己再动手多写写代码。要学习java编程就必须学会怎样去编写类,怎么用java的语法去描述一类事物共有的属性和功能。属性通过变量来刻画功能通过方法来体现,即方法操纵属性形成一定的算法来实现一个具体的功能。类把数据和对数据操作封装成一个整体。

标签: ,   评论: 1枚 

搬运工:用Goagent流畅看YouTube视频的办法

当前位置:首页 » 学习
In 学习, 网络  @2015-02-28

goagent如何流畅观看YouTube
首先,给你的谷歌内核浏览器,去插件商店,安装插件SwitchySharp或者SwitchyOmega,不知道安装插件有什么用的,请无视这段,你还是用全局代理吧。
在SwitchySharp或者SwitchyOmega插件的规则里,添加以下这些通配符规则
*.google*.com*
*.youtube*.com
*.ytimg.com
*.ggpht.com
*.gstatic.com
goo.gl
youtu.be

然后,下载一个很重要的浏览器插件,看YouTube视频流畅不流畅就靠它了,去谷歌浏览器的插件中心下载Magic Actions for YouTube插件,安装以后,打开youtube页面会在地址栏有一个红色魔法棒小图标,点进去就有设置选项,设置页面是英文的,里面的Speed Booster - Better video preloading / buffering这一项必须开启,下面的图片是我把英文翻译成中文了,你照着下图我的设置就可以了(为了防止图片打不开,我传了两个地址,两张图都是一样的)。
http://i.minus.com/ihaPvjFBhmn8v.png
http://i.imgur.com/l3ueOMa.png

最后,打开你的goagent目录里proxy.ini的[profile]找到下面这一行(修改以后可以观看受限的vevo音乐视频,还可以上传youtube视频)
.youtube.com = forcehttps,fakehttps
替换成
.youtube.com = google_hk,forcehttps,fakehttps

最后,为了能够观看YouTube视频直播,在proxy.ini的[autorange]里找到*.googlevideo.com这个,删除掉。
好了,以上配置在goagent 3.1.25上完美运行,别的goagent版本可能配置有所不同。

PS:另外我按照这个思路查找了firefox的插件,发现有个类似功能的插件“smartvideo for youtube 0.979”,安装到firefox也比较好用。

忘记补充一点了,最后一条看YouTube视频直播的那段。
当你要看直播的时候,你才要把proxy.ini的[autorange]里这个*.googlevideo.com,删除或者改成*.googlevideo123.com
当你要看普通视频的时候,要把proxy.ini的[autorange]里这个*.googlevideo.com添加或者改回去,不然看普通视频容易断,切记。
本人goagent 3.1.25版本,其他版本goagent不知道有没有这个问题,我没试过。

以上方法来自goagent提问社区,作者https://code.google.com/u/111330721690262043632/

标签: , ,   评论: 6枚