概念解析
什么是面向对象
开发过程中,以声明标准或者是逻辑编写程序的业务? 1: 面向对象 2:面向过程 这两个的区别是: 通过不同的思维方式去思考解决当前业务问题。 张三开门? 存在两个对象: 张三 和 门 开--> 动作 --> 功能 --> 方法 open 面向对象:只需要负责使用该对象,不需要关系对象的具体执行逻辑,所以方便使用者去调用。比较擅长完成负责的业务功能。强调的使用或者调用。 面向过程:所有执行步骤都是按部就班的,在整个逻辑中不能随意修改步骤,不然就可能出现问题。但是它是解决问题的最基础的方案。强调的是完成。 面向对象和面向过程是相辅相成的,大家不要存在:使用了面向对象 就可以不用面向过程了。这是错误的。
如何面向对象
编写代码的时候,需要思考当前业务存在哪些对象?如何建立这些对象? 如何建立这些对象? 类、方法、变量、常量 能和对象产生关联的,目前看来就只有类了。 类和对象到底是什么关系? 类: 类别、分类、人类、鸟类。。。。。 不好说! 抽象 大家一起来找茬! 找相同。对于一类事物的统称(找相同点去归类-->这个词变抽象)。 对象: 具体的事物,人类中具体的事物:张三 。 类就是一个模板,通过这个模板可以源源不断的产生对象,这些对象都具备相同的能力或者是外在的表现形式。
题目解析
假如你是程序员,你觉得先有类?还是现有对象呢?
不确定: 如果按照代码构建的角度思考: 先有对象,通过将多个对象的共性抽取出来,将其归为一类; 这个角度我们发现先有对象 才有的类 如果按照编写代码的角度思考: 先有类,再有对象。定义类之后,通过`类名 变量名 = new 类名()` 创建一个类的实例独享。
题目: 声明一个点对象,有两个功能,一个功能是可以显示当前自己点坐标位置,还有一个是可以计算当前从自己出发,到另外一个点的长度、距离。
类和对象的声明
声明类
将当前类可能产生的对象的相同点罗列出来:
外在的表现------> 定义成为类中的一个变量
内在的功能------> 定义成为类中的一个方法 这个方法不加static关键词的
public class Computer { /* 属性 */ int price; String type; String color; /* 功能 */ public void playGame(){ System.out.println("玩游戏"); } public void info(){ System.out.println("price:"+price); } }
声明对象
声明对象的方式:
类名 变量名 = new 类名();
对象.属性;
对象.方法;
public class ComputerTest { public static void main(String[] args) { Computer c1 = new Computer(); c1.price = 123456; // .的意思代表的是的 谁的 那个对象的 c1.playGame(); c1.info(); } }