黑马程序员技术交流社区
标题:
面向对象
[打印本页]
作者:
liuguodong
时间:
2015-8-27 22:34
标题:
面向对象
面向对象:
什么是面向对象?
1、面向对象是基于面向过程的。
2、面向对象:以对象为基础,完成各种操作。 强调的是:对象。 Java,C++,C#
面向过程:以函数为基础。完成各种操作。强调的是:函数,过程。 C语言
3、他们都是一种思想。
面向对象的思想特点:
1、更符合人们的思考习惯。
2、把复杂的事情变得简单化。
3、把我们从执行者变成指挥者。
炒菜:
面向过程:买菜,洗菜,切菜,炒菜,吃菜,收拾
面向对象:找对象(买菜,洗菜,切菜,炒菜,收拾)
面向对象的三大特征:
封装,继承,多态。
程序开发:就是不断的创建对象,指挥对象,使用对象做事情。
程序设计:就是来管理各个对象之间的关系。(闫闳 UML统一建模语言)
掌握:
类:属性和行为的集合,一个抽象的概念。
对象:就是该类事物的具体体现。
成员变量:(属性,事物的描述信息)
跟咱们以前定义局部变量一样,只不过是位置发生了变化,现在放在类中,方法外
成员方法:(行为,事物可以做什么)
跟以前咱们定义方法一样,先把static去掉。
Java语言最基本的单位是:类。
关于文件名:现在我们可以在一个Java文件中写两个类,要求:文件名和测试类名一致。
基本类:Student
测试类:带main函数的类
注意:开发中,一个java文件只会写一个类。
如何创建对象: 类名 对象名 = new 类名();
如何使用成员变量: 对象名.成员变量;
如何使用成员方法: 对象名.成员方法(...);
堆:堆里边的内容,当没有引用指向它的时候,它就会变成垃圾。
等待Java中的垃圾回收机制(GC),在不确定的时候来回收它。
成员变量,局部变量他们之间的区别:
1、定义位置不同
2、存储位置不同
3、生命周期不同
4、初始化值不同
基本类型:四类八种。
引用类型:数组,类,接口,枚举。
使用变量的时候,遵循一个什么原则?
遵循就近原则。局部位置有,就使用局部位置的,局部位置没有,就去本类的成员位置找,
本类的成员位置有就使用,没有就报错。(先这么记,不严谨)
//如果你看到了一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象
//public static void print(Student s ) {}
当一个方法的参数的数据类型是我们自定义的类的时候,其实就是让我们传一个该类的对象。
匿名对象:
概述:没有名字的对象。
特点:匿名对象使用一次后就变成了垃圾,等待垃圾回收机制来回收。
应用场景:
A:当对类中的成员方法仅仅调用一次的时候。
B:可以作为实际参数进行传递。
封装:
概述:隐藏属性和实现细节,仅对外提供一个公共的访问方式。
怎么隐藏?
通过关键字private。
注意:private仅仅是封装的一种体现,咱们以前学过的类,函数也是封装的体现。
对外的公共访问方式是什么?
取值: getXXX();
赋值: setXXX();
好处:
A:提高代码的复用性。
B:提高安全性。
原则:
把不需要对外提供的内容(成员变量)封装起来。
private:它是一个权限修饰符,可以来修饰成员变量和成员方法,
它修饰的内容只能在本类中直接使用。其他类不能直接使用。
this:
代表(本类)当前对象的引用。
应用场景:
用来解决局部变量和成员变量重名的问题。
大白话:就是用来解决局部变量隐藏成员变量值的问题。
定义出学生类:
成员变量: 姓名name,年龄age,性别gender
成员方法:吃饭eat,睡觉sleep
Student s = new Student();
new Student();
定义一个手机类,要求属性都私有化,有get和set方法,定义出类,然后创建对象,最后再调用。
手机类:Phone
属性:品牌brand 价格price
行为:打电话call,发信息sendMessage,玩游戏playGame
类:成员变量,get和set方法,成员方法
1、成员变量
2、构造方法
3、set和get方法
4、成员方法
中午:
学生类,手机类代码写至少两边,并测试。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2