A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 以梦为马123 中级黑马   /  2015-7-15 23:01  /  563 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

面向对象:将功能封装进对象,强调具备了功能的对象。
        //具体是否可以这么理解,定义一个类相当于前面定义中提到了建立一个对象用于封装,在类中定义一些成员变量或者是成员函数,相当于将功能进行定义并封装进对象。

12 个回复

正序浏览
灰灰 发表于 2015-7-16 19:08
面向对象好难理解....

手机就是对象,而你把手机的打电话功能调用了,但是至于为什么电话能打电话,你不用管,你直接调用功能即可,这叫面向对象,功能封装!
回复 使用道具 举报
Claw 中级黑马 2015-7-16 22:34:04
12#
不会难理解吧。
其实对象,你当作函数去理解,也差不多。
回复 使用道具 举报
一百个人回答有一百个例子,类的概念是什么,类是描述事物属性和行为的,什么是属性,人的年龄和姓名都是属性,人吃饭,睡觉,这是行为。类描述出来的东西,只是描述这个事物有什么。而对象就是类的举出来的例子。
这么说吧。什么叫人类,人类是所有人种统称,这叫类,通俗的说就是一类人,举些,吹牛皮的这类人,装X的这一类人,黑种人,白种人,举出来的例子就是对象。
类是描述事物的抽象,对象是类的实例。
面向对象就是不需要知道对象的内部结构,运行方式,操作过程等等,你知需要知道他有什么功能,你就调用他的功能即可。
以上是我个人理解,不到之处还望见谅。
回复 使用道具 举报
Sparky 来自手机 中级黑马 2015-7-16 22:27:36
10#
这个就不要水了吧:o
回复 使用道具 举报
package com.java;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

public class ReflectDemo2 {

        /**
         * @author YCY
         */
        public static void main(String[] args) {
                Class testClass;
                try {
                        // 拿到Test字节码文件
                        testClass = Class.forName("com.java.Test");
                        // 获取Test包
                        Package p = testClass.getPackage();
                        // 创建Test对象
                        Test test1 = (Test) testClass.newInstance();
                        // 调用Test对象中的public方法
                        test1.method1();
                        test1.method3(1, '你');
                        // 获取Test全部的构造方法
                        Constructor<?> cons[] = testClass.getConstructors();
                        // 遍历数组,打印出Test所有的构造方法
                        for (int i = 0; i < cons.length; i++) {
                                System.out.println(cons[i]);
                        }
                        // 通过有参构造方法创建Test对象
                        Test test2 = (Test) cons[0].newInstance(1, "你好", '吗');
                        // 获取Test类继承的父类以及实现的接口
                        Class<?> parents = testClass.getSuperclass();
                        // 打印出Test类的父类名称
                        System.out.println(parents.getName());
                        // 获取Test类的所有实现的接口
                        Class<?>[] interfaces = testClass.getInterfaces();
                        for (int i = 0; i < interfaces.length; i++) {
                                System.out.println(interfaces[i].getName());
                        }
                } catch (ClassNotFoundException e) {
                        e.printStackTrace();
                } catch (InstantiationException e) {
                        e.printStackTrace();
                } catch (IllegalAccessException e) {
                        e.printStackTrace();
                } catch (IllegalArgumentException e) {
                        e.printStackTrace();
                } catch (InvocationTargetException e) {
                        e.printStackTrace();
                }
        }

}
回复 使用道具 举报
面向对象是一种思想    猫  狗  是属于一动物类的吧; 动物是一个抽象的概念     没有具体指是哪个动物,所以动物就是一个类,  猫  狗  就把 动物这个抽象的概念具体化了   所以 猫,狗就是对象.:victory:
回复 使用道具 举报
官沛 中级黑马 2015-7-16 20:02:42
7#
我觉得可以用教育行业的例子来理解。
       面向对象思想是相对于面向过程的思想来说的。面向过程关注过程本身,关注操作的细节;而面向对象强调的是对象,关注具备一定功能的对象。用面向对象的思想处理问题,首先想的是找一个可以胜任处理此问题的角色——对象,如果没有,那就创建一个合适的对象去处理。
       培训教育机构就是很好的例子,比如黑马如果目标是推动中国it技术的发展,如果以面向过程为思路的话,那就是让黑马所有的老师自己去处理所有it公司遇到技术问题,而面向对象的思想是:先找对象,就是合格it人才,但发现不够;所以就创建对象,要定义很多功能和方法,让对象能去处理it问题,这其实就是培训教育的过程,毕业后再去各个公司处理问题。
    所以可以看出,面向过程其实是面向对象的基础,而面向对象更符合人们的生活经验,把复杂问题简单化,把事情的执行者变成指挥者。
回复 使用道具 举报 2 0
面向对象是一个贯穿一生的概念,不用指望学了一遍就理解了
本人刚刚学完,听课觉得都懂,一做题,一写代码就傻了。慢慢理解吧
回复 使用道具 举报
从执行者转变为调用者。比如洗碗机,自己洗就是执行者,用洗碗机洗就是调用者。
回复 使用道具 举报
面向对象
比如你想要吃个面包 那你得 买面 发酵 进烤箱 端出来 在开吃  每个步骤就是一个方法 一个函数  
那我们换一个方法 把这些 步骤放在一个箱子中 让这个 箱子完成我们所需的一切 我么就可以直接开吃了这就是 面向对象
在比如说,我们想要完成一个大型的项目,那这个大型的项目需要几个功能共同实现才能完成,那每一个功能就相当于一个函数(具有特定功能的独立的小程序),那我们现在换一个方法,我们先将这几个函数封装在一个对象中,那这个对象就可以完车这个项目了,以对象为基础,用对象完成各项操作,那这里面强调的是对象,那这就是面向对象
回复 使用道具 举报
面向对象好难理解....
回复 使用道具 举报
飘过,飘过,,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马