面向对象的一些杂记
2016-01-25 13:44
197 查看
面向对象的基本概念:
面向对象就是使用对象进行程序设计,简写成oop(Object对象 Oriented以。。为导向的 programming程序设计)
面向对象的编程思想:
旨在计算机程序中模拟现实世界中的概念
在oop中,现实世界的所有事物全部都被视为对象
在计算机程序中用相似的尸体模拟现实世界中实体
设计和是吸纳软件系统的方法
----类
----对象:
对象时面向对象编程的核心部分,是实际存在的具体实体,具有明确定义的状态和行为
对象其实就是数据和函数的封装体,其中数据表示自身的状态,也称作“属性”或“成员数据”,函数表示的是自身的功能,也称
作方法或成员函数
面向对象的三大原则
----封装
将某些东西包装在一起,然后以新的完整形式呈现出来;
隐藏属性、方法或实现细节的处理方式称为封装;
封装其实就是有选择性的公开或隐藏某些信息,他解决了数据安全性的问题
----继承
继承就是重用现有的类来生成新类的一种特征;
通俗的讲就是从现有的类(父类或者基类)中创建新类的过程
现实生活中,继承可以达到财产重用的目的,而在java中,继承可以是代码重用。
----多态
父类的引用指向哪个类的实例就调用哪个类中的方法;(new谁调谁)
同样是使用父类的引用,引用同一个名称的方法,却可以调用不同的调用结果,这就是java的多态,即同一函数,多个形态
实际上动态包括静态多态(重载),动态多态两种(重写)
----抽象
把像相同或相似的对象归为一类的这个过程就是抽象,所以抽象就是分析问题的方法
抽象的基本原则:
只关心主要问题,而不关心次要问题;
只关心主要矛盾,而不关心次要矛盾;
只关心相同的东西,而不关心不同的东西;
只关心问题是什么,能够完成什么,而不关心怎样去完成
抽象的过程其实就是面向对象编程的核心思想
----成员运算符(.)
只有先实例化类的对象,才可以访问到类中的成员(属性和方法)
使用成员运算符(.)来访问成员属性或成员方法;
一般语法是:对象名.成员名 比如:stu.age=14;//给成员属性赋值 stu.dining()//调用成员方法
----重装
方法名相同
参数不同(可以有三方面的不同)
.数量不同
.类型不同
.顺序不同
同一作用域
方法重载和方法的返回值类型没有任何关系,也就是说只有返回值不同的方法不能构成重载,比如:
void fun(int i);和int fun(int i) 不能构成重载
----静态成员变量
在成员变量前加static关键字,可以将其声明为静态成员变量;
如果类中成员变量被定义为静态,那么不论有多少个对象,静态成员变量只有一份内存拷贝,即所有对象共享该成员变量;
静态变量的变量的作用域只在类的内部,但其生命周期却贯穿整个程序
----静态成员方法
在成员方法前加static关键字,可以将其声明为静态成员方法;
静态成员方法只能对类的静态成员变量进行操作;
静态成员方法没有this引用;
在没有实例化对象时,可以通过类名访问静态成员中的方法
面向对象就是使用对象进行程序设计,简写成oop(Object对象 Oriented以。。为导向的 programming程序设计)
面向对象的编程思想:
旨在计算机程序中模拟现实世界中的概念
在oop中,现实世界的所有事物全部都被视为对象
在计算机程序中用相似的尸体模拟现实世界中实体
设计和是吸纳软件系统的方法
----类
----对象:
对象时面向对象编程的核心部分,是实际存在的具体实体,具有明确定义的状态和行为
对象其实就是数据和函数的封装体,其中数据表示自身的状态,也称作“属性”或“成员数据”,函数表示的是自身的功能,也称
作方法或成员函数
面向对象的三大原则
----封装
将某些东西包装在一起,然后以新的完整形式呈现出来;
隐藏属性、方法或实现细节的处理方式称为封装;
封装其实就是有选择性的公开或隐藏某些信息,他解决了数据安全性的问题
----继承
继承就是重用现有的类来生成新类的一种特征;
通俗的讲就是从现有的类(父类或者基类)中创建新类的过程
现实生活中,继承可以达到财产重用的目的,而在java中,继承可以是代码重用。
----多态
父类的引用指向哪个类的实例就调用哪个类中的方法;(new谁调谁)
同样是使用父类的引用,引用同一个名称的方法,却可以调用不同的调用结果,这就是java的多态,即同一函数,多个形态
实际上动态包括静态多态(重载),动态多态两种(重写)
----抽象
把像相同或相似的对象归为一类的这个过程就是抽象,所以抽象就是分析问题的方法
抽象的基本原则:
只关心主要问题,而不关心次要问题;
只关心主要矛盾,而不关心次要矛盾;
只关心相同的东西,而不关心不同的东西;
只关心问题是什么,能够完成什么,而不关心怎样去完成
抽象的过程其实就是面向对象编程的核心思想
----成员运算符(.)
只有先实例化类的对象,才可以访问到类中的成员(属性和方法)
使用成员运算符(.)来访问成员属性或成员方法;
一般语法是:对象名.成员名 比如:stu.age=14;//给成员属性赋值 stu.dining()//调用成员方法
----重装
方法名相同
参数不同(可以有三方面的不同)
.数量不同
.类型不同
.顺序不同
同一作用域
方法重载和方法的返回值类型没有任何关系,也就是说只有返回值不同的方法不能构成重载,比如:
void fun(int i);和int fun(int i) 不能构成重载
----静态成员变量
在成员变量前加static关键字,可以将其声明为静态成员变量;
如果类中成员变量被定义为静态,那么不论有多少个对象,静态成员变量只有一份内存拷贝,即所有对象共享该成员变量;
静态变量的变量的作用域只在类的内部,但其生命周期却贯穿整个程序
----静态成员方法
在成员方法前加static关键字,可以将其声明为静态成员方法;
静态成员方法只能对类的静态成员变量进行操作;
静态成员方法没有this引用;
在没有实例化对象时,可以通过类名访问静态成员中的方法
相关文章推荐
- Python动态类型的学习---引用的理解
- 如何创建对象以及jQuery中创建对象的方式
- 土人系列AS入门教程 -- 对象篇
- C#托管堆对象实例包含内容分析
- Lua编程示例(二):面向对象、metatable对表进行扩展
- C#中面向对象编程机制之多态学习笔记
- C#实现获取不同对象中名称相同属性的方法
- 浅谈Lua的面向对象特性
- Lua面向对象之类和继承浅析
- javascript asp教程第十一课--Application 对象
- JavaScript面向对象的两种书写方法以及差别
- 浅谈c# 面向对象之类与对象
- C#面向对象特征的具体实现及作用详解
- PowerShell中使用Out-String命令把对象转换成字符串输出的例子
- C# 面向对象的基本原则
- VBS教程:对象-正则表达式(RegExp)对象
- 浅谈对c# 面向对象的理解
- C#检查指定对象是否存在于ArrayList集合中的方法
- sql2008启动代理未将对象应用到实例解决方案
- C#编程自学之类和对象