?
大家在学习JAVA或者C++这类面向对象编程语言之前,前辈(或老师)一定会向我们解释说明什么是类,什么是对象,以及类与类、类与对象之间存在什么关系。接下来我将分两篇博文来解释说明这两种关系。第一篇博文只要侧重于解释什么是类、对象以及OOP编程,另一篇博文侧重于类的继承的相关内容。
?
在接触的C、C++语言之后,我了解到有两种大家比较常用的编程语言类型,即POP与OOP。一开始我完全无法辨析这两种类型的语言,之后经过一段时间的积累,终于对此有了一些理解:面向过程是一种以过程为中心的编程思想,以一个实例来说明这一思想就是列举出实现功能的一个个表单,而你却需要自己一步步地去实现它;面向对象是一种以对象为中心的编程思想,相当于你只需要找到能够完成这个功能的对象,告诉他并让他实现这个功能即可。
?
在现实生活中,我们每一个人都是一个对象,路边上的一株小草是一个对象,家中趴着的小狗是一个对象。那么到底什么是对象呢?以一个人为例,他能说话、吃饭、走路的行为并且他有自己的外貌、名字、身高等属性,以此看来一个对象是具有一定的行为和属性的。当这些具有相同属性、行为的对象组成一个整体就构成了一个类。但是某个对象的特殊属性在类的属性与行为却不一定含有,类具有所有对象的公共属性与方法。上面所说的是从对象看类(自底向上),但是为了编程需求,我们可以从类看对象。类是对所有对象的定义,通过类可以创建对象;对象是真真实实存在的一个实体,具有明确定义的状态和行为。
?
接下来的代码将向大家展示面向对象编程的形式:
/** * 定义一个Dogs类,并创建一个dog对象,定义其属性值,调用其方法 * @author Daily * */ public class Dogs { // 声明Dogs类的属性 protected int weight; // 体重 public String sex; // 性别 protected int age; // 年龄 private String location; // 住址 //......其他属性值均可设置 /** 主函数 * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Dogs dog = new Dogs(); dog.eating(); dog.walking(); dog.sleeping(); } /** * Dogs吃东西的行为(方法/动作) */ public void eating(){ System.out.println("汪汪!!主人我饿了,我要吃肉~~~~~~"); } /** * Dogs散步的行为(方法/动作) */ public void walking(){ System.out.println("[蹭~]吃饱了,咱们出去散步吧~~~保持好身材!我是乖狗狗~"); } public void sleeping(){ System.out.println("=_=终于回来了,我要睡觉!睡觉!!!"); } }
?