1.面向对象的基本思想:
当我们拿到一个需求或者模拟一个场景的时候,首先想的不是我们要做什么,而是要先分析这个需求中能抽象出几个类,每个类又是做什么的,每个类又有什么属性和方法;方法要合理的在对应的类中,然后再看类与类之间又有什么关系。
2.类与对象
类:就是一些具有相同属性和行为的抽象化概念。当说及类的时候,你一定是不知道具体的事物的,比如人,你不知道我说的是哪个人,张三还是李四还是二麻子等,还有汽车,你也不清楚我说的是宝马汽车还是奔驰汽车等等。但是他们都具有相同的属性和行为,将他们的相同属性和行为抽取出来就可以形成类。抽取人的共有属性 姓名、年龄、性别,行为有吃饭、睡觉,这样就可以行成Person类。还有汽车的共有属性,轮子、颜色等,行为有行驶,停车等等,这样也可以行成一个简单的Car类。(简单的例子,不足望指正)。
对象:对象就是上面谈及的类的一个具体的东西。比如人,具体到张三这个人,那张三就是一个对象。汽车,具体到宝马X5,那它也是一个对象。分清对象与类的概念就在于能不能够具体化到你一眼明了的东西。张三跟宝马X5是我们一听就知道的具体事物,这样的就是对象。
例子:用面向对象的思想描述如何刻画一个人???
首先人是一个抽象的概念,我说人,你并不知道我说的具体到底是谁。但是,所有人都有公共的一 些属性和行为,属性比如姓名,年龄,性别等等,行为有,人都要吃饭,睡觉等等最基本的行为。这些都是人具有的共性内容,具有共性的东西就可以抽象成类。
那么就可以将人抽象成一个类,将人的共有属性和行为抽取出来,就可以形成一个Person类。那么 Person类就具有这些基本属性:name、age、sex,行为有:eat()、sleep()等。
那么具体实现描述一个人的时候,我就可以通过Person类来创建一个实例,你的name,age,sex都是你自己特定的值,可以自己设置,行为eat()跟sleep(),怎么吃饭和怎么睡觉这也是你自己的事,根据这些特定的值就可以具体知道你是哪一个人,张三还是李四,这样就可以基本完整的刻画出一个人。(当然人还有很多其他的属性和行为,这里例子只是一个简单的举例说明)