一些基础概念的总结。。。。

来源:互联网 发布:上海交大大学网络教育 编辑:程序博客网 时间:2024/06/04 06:19

 

写程序如写作文?
先学语法,学三种流程结构。就相当于写作文之前学字,句子。但是只会字和句子写不了作文。想写东西,有想法。写程序也是要先要有想法,有了想法才能写下去。
分析为王——面向对象问题分析
分析步骤 找对象->找对象的变量和方法(状态和行为)
          通过分析对象中相同的变量和方法,抽象出类
         找类和类之间的关系
         类和类之间的纵向关系 继承
                        横向关系 依赖,关联(悟空和八戒的关系),
聚合(悟空和金箍棒)和组合(悟空和他头)
Class wukong{
       Void qujing(Bajie bj){
}
}
Class wukong{
       Private Tou tou;
}
Class wukong{
       Private Tou tou;
}
面向过程和面向对象的区别
面向过程:更关注是步骤,先做什么后做什么
       开始时候,人们考虑用计算机来帮我们干事,从计算机的角度出发。计算机的想法大体事过程。
面向对象:更关注是功能,分析会先考虑有哪些对象
       干的的事情不多,用面向过程想计算机怎么干事完全可以的。项目扩大,面向对象的好处就出来了。因为从人的角度进行思考,更能解决大的问题。
对象和类的区别
Everything is object;
类就是对对象的抽象
一个类造很多个对象,是模板。通过类可以来生产(模式——工厂模式很常用)对象。
 
类的三个特性
封装,继承和多态
有了封装才有继承,有了封装继承才有多态。
什么是封装
封装的是变量和方法,达到类里面的变量只能够通过类所提供方法才能改变。就是说如果这个类造出了一个对象,那么如果想改变这个对象的状态,只能用有限的(所提供的)方法来改变。
没有封装前,程序在内存能够执行。开辟的内存空间,谁都能访问,能修改。很容易造成内存改变溢出,系统就崩溃了。所以提出封装的概念。
经过长时间的实践,才发现封装比不封装好。
继承性
子类完全继承了父类的变量和方法
把父类成为基类,子类成为导出类。
继承的好处:实现了代码的复用。
Is a
is like a
子类可以加新方法,子类可以重写一些方法。
Override(覆盖)子类把方法的实现重写了
和 overload(重载)一个类中两个方法名同,参数不同
 
多态性
访问我博客 百度里搜 杨新年 csdn
 
一个具体分析的例子(唐僧师徒四人坐飞机)
唐僧四人坐飞机去旅游,途中飞机失事,可是降落伞只有三把.
于是,唐僧说了,大家来答题,答不出来的跳下去.
唐僧:悟空,天上有几个太阳呀?
悟空:一个.
唐僧:答对了,给你一把.
唐僧:沙僧,天上有几个月亮啊?
沙僧:一个.
唐僧:答对了,也给你一把.
一旁的八戒好开心,这么简单的问题.
唐僧:八戒, 天上有几颗星星啊?
....
八戒跳了下去.
 
分析一下如何写一个程序
面向对象。
1.       找对象
唐僧
悟空
八戒
沙僧
2.       找对象中的属性和方法(状态和行为)
唐僧
姓名
职业
问问题()
       判断对错()
       跳飞机()
       悟空
       姓名
       职业
       答题()
       跳飞机()
       八戒
       姓名
       职业
       答题()
       跳飞机()
       沙僧
       姓名
       职业
       答题()
       跳飞机()
3.类 来源于对象
       1)初级想法:几个对象几个类——四个类
       2)相似的类——抽出一层
              师傅类,徒弟类
       3)根类——人类
      
 
原创粉丝点击