面向对象复习笔记(一)

摘要:
1、 概念1。面向对象的概念:世界上的一切都是对象。B、 对象是一个特定的事物,其功能是完成特定的功能。定向是在编程时记住对象。面向对象编程是指在编程过程中通过对象结构存储数据结构。5.为什么使用面向对象?使用父级访问父类中的静态成员。
.概念
1.面向对象概念:世界万物皆对象。
2.对象的组成:两部分
a.成员属性 :对象的数据模型,用于描述对象的数据,又称为对象的属性,或者对象的成员变量。
b.成员方法:对象的行为模型,用于描述对象能够做什么事情,又被称为对象的方法。
3.对象的特点:
a.每个对象都是独一无二。
b.对象是一个特定的事物,他的职能是完成特定的功能。
c.对象是可以重复使用的。
4.什么是面向对象?面向就是编程的时候一直把对象放在心上。
面向对象编程就是 在编程的时候数据结构(数据组织方式)都是通过对象的结构进行存储
5.为甚魔使用面向对象?
对象的描述方式更贴合真实的世界,有利于大型业务的理解
在程序设计的过程中用对象的视角分析世界的时候,能够拉近程序设计与真实世界的距离
6.面向对象的实质:就是把生活中要解决的问题都用对象的方式进行存储(属性 方法)
对象与对象之间通过方法的调用完成互动(方法)
7.面向对象的基本思路:
a.识别对象
任何实体都可以被识别为一个对象
b.识别对象的属性
对象里面存储的数据被识别为属性
对于不同的业务逻辑,关注的数据不同,对象里面存储的属性也不同
c.识别对象的行为
对象自己属性数据的改变
对象和外部交互
7.面向对象的原则:高内聚低耦合
a.对象内部是高内聚的:该有的都有,不至于缺胳膊少腿
所有对象相关的内容都封装到对象内部
对象只负责一项特定的职能(投篮)
b.对象对外是低耦合的:相互之间依赖关系特别小,程序设计的更灵活,有利于对象的重用
外部世界可以看到对象的一些属性
二、基本实践
1.类的概念:
物以类聚,把具有相似特性的对象归类到一个类中
类定义了这些相似对象拥有的相同的属性和方法
类的对象称为类的一个实例(Instance)
类是相似对象的描述,称为类的定义,是该类对象的蓝图或者原型
类的属性和方法统称为类成员(重要)
类就是一个框架,对象就是把这框架塞满
2.类的实例化(instantiate):通过类定义去创建一个类的对象,类只有一个,可以实例化出多个对象
类的定义里面属性值都是空的,而对象的属性都有具体的值
三。高级实践
1.继承的好处:
a.父类里面定义的类成员可以不在子类里面重复定义,节约编程的时间和成本。
b.同一个父类的子类具有相同的父类定义的类成员,因此外部调用它们的时候可以一视同仁
c.子类可以修改和调整父类定义的类成员:我们成为重写overwrite,一旦子类修改了就按照子类修改后的功能执行
d.单继承原则:一个子类只能继承一个父类
2.面向对象的三种访问权限
public:公有的类成员,可以在任何地方被访问(定义该成员的类即自身,该类的子类,其他类)
protected:受保护的类成员,可以被其自身及其子类访问
private:私有的类成员,只能被自身访问
3.静态属性和静态方法的定义
静态属性定义时在访问控制关键词后面添加static关键词即可,静态方法同理。如 public static $president='tom';
public static function test(){}.
访问静态属性:类名::$president #带 $ 符号 。在类定义中使用静态成员时,用self(或static)::$president
访问静态方法:类名::test();
在类定义外部访问静态属性时,我们使用类名::类的静态成员(成员属性,成员方法)。
使用parent访问父类中的静态成员。
在类的静态方法中不能使用$this调用类的非静态成员。
注意:6个
a.静态属性用于保存类的公有数据
b.静态方法里面只能访问静态属性
c.静态成员不需要实例化对象就可以访问
d.类的内部可以通过static或者self关键词访问自身静态成员
e.可以通过parent关键词访问父类的静态成员
f.可以通过类名称在类定义外部访问静态成员
4.final关键词
在子类中编写跟父类中方法名称完全一致的方法,可以完成对父类中方法的重写(overwrite)
a.对于不想被任何类继承的类可以在class之前添加关键字final
b.对于不想被子类重写(修改)的方法,可以在方法定义的前面加final
5.数据访问
a. 用parent关键字可以访问父类中被子类重写了的方法
b.self关键字可以用于访问类自身的成员方法,也可以用于访问自身的静态成员和类常量,使用常量的时候不需要在常量名称前加 $ 符号,
不能用于访问类自身的属性(重点)
c.static关键字用于访问类自身定义的静态成员,访问静态属性时需要在属性前面加 $ 符号


























免责声明:文章转载自《面向对象复习笔记(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇igraph——图挖掘助力社会网络分析java集合类笔试选择题整理含答案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Scala 面向对象(八):特质(接口) 一

1 Scala接口的介绍 从面向对象来看,接口并不属于面向对象的范畴,Scala是纯面向对象的语言,在Scala中,没有接口。 Scala语言中,采用特质trait(特征)来代替接口的概念,也就是说,多个类具有相同的特征(特征)时,就可以将这个特质(特征)独立出来,采用关键字trait声明。 理解trait 等价于(interface + abstract...

Essential.C#第五章 类

在第一章中你已经看到了如何声明一个新类Helloworld。在第二章,你也也学习了C#内建的原类型。你也知道了控制流,还有如何声明方法。现在是时候讨论如何定义属于自己的类型了。这在任何C#程序都是核心结构。C#作为一个面向对象的语言是完全支持类和构建对象。 本章为你引入c#的面向对象编程方式。重点是如何定义类,这是对象的模板。 在前面的章节的程序结构一直...

面向对象开发方法概述

小结: 1.面向对象的软件开发有什么优点? (1)与人类习惯的思维方法一致 (2)稳定性好. (3)可重用性好 (4)较易开发大型软件 (5)可维护性好 2.在软件系统中,为什么说一个独立的不对外提供任何服务的对象是没有意义的. 建立对象需要开辟空间,并且影响程序运行的速度,所以应该尽可能减少没用对象的创建和开辟,那样既浪费了资源,有影响了程序的执行速...

python 面向对象

概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处。 1 2 3 4 5 6 7 8...

【Java面向对象 05】

一、构造方法 1、方法名与类名称相同,2、没有返回值,不需要void关键字2、调用类里面的属性必须先进行对象的引用,即:new 类名(),引用:引用名.属性以下举例:Test01类对Students类进行初始化调用,Test02类对Students类进行属性的修改,即修改成员变量 public class Students { //学号 i...

静态成员

指针、引用必须注意浅深拷贝 浅拷贝:只复制地址,没复制值 缺省方式的拷贝构造和拷贝赋值,对包括指针在内的基本成员变量按字节赋值,导致浅拷贝问题。 为了获得完整意义上的对象副本,必须自己定义拷贝构造和拷贝赋值,针对指针型成员变量做深拷贝。 赋值表达式的值是操作符左值的引用。运算符重载的返回值都是自引用形式(return *this) 拷贝赋值运算符 clas...