面向对象定义

面向过程:

面向过程的优点:复杂度的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单

面向缺点:套流水线或者流程就是用来解决一个问题,基本无法更改

面向对象:是一种程序设计思想。将数据和处理数据的程序封装到对象中

面向对象的优点:不再需要关心,每个功能具体的实现细节

大大提高了程序的扩展性

提高了程序的灵活性

面向对象的缺点:编程的复杂度远高于面向过程

一些扩展性要求低的场景使用面向对象会徒增编程难度

类:是一系列对象中相似特征与技能的结合体

对象:对象是特征与技能的结合体,且具体存在的称为对象

绑定方法:

绑定到类的方法与绑定到对象的方法总结

异同点:

相同

绑定对象调用时都有自动传参的效果

绑定到谁给谁就由谁来调用

不同

绑定到类的方法自动传入当前类

绑定到对象的方法自动传入当前对象

另外:

绑定方法中的self 和 cls参数名 是可以随意修改的,但是self和cls是约定俗成的写法,为了提高可读性不建议修改

封装:封装指的是对外部隐藏对象的属性和实现细节,仅对外公开接口,控制程序中属性的访问权限

封装优点:保护数据安全,隔离复杂度

property:是一个装饰器,将一个方法伪装成普通属性,其特殊之处在于,该方法会在修改属性值时自动执行

继承:继承是一种关系,通过继承关系,一个对象可以直接使用另一个对象拥有的内容

继承的优点:

1.减少代码重复

2.为多态提供必要的支持

此时查找属性的顺序是:

对象本身的名称空间 - > 类的名称空间 -> 父类的名称空间 -> 父类的父类名称空间 ->...object类

派生:当父类提供的属性无法完全满足子类的需求时,子类可以增加自己的属性或非法,或者覆盖父类已经存在的属性,此时子类称之为父类的派生类

覆盖:在子类中如果出现于父类相同的属性名称时,根据查找顺序,优先使用子类中的属性,这种行为也称为覆盖

组合:组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合

接口:接口其实是一套协议规范

多态;多态指的是一类事物有多种形态

多态的优点:1.增加了程序的灵活性

2.增加了程序额可扩展性

原文地址:https://www.cnblogs.com/huanghongzheng/p/10895802.html

时间: 2024-10-11 04:12:01

面向对象定义的相关文章

疯狂java学习笔记之面向对象-定义类、方法、构造器

Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. java程序中,类是最小的程序单位 - 所有的java程序都必须从定义类开始 定义类的语法格式: [修饰符]  class  类名{ //0 ~ N 个 Field 定义 //0 ~ N 个 方法定义 //0 ~ N个 构造器定义 } 一个类中最多只能出现五种成分:Field.方法.构造器 一个类最常见

scala入门教程:scala中的面向对象定义类,构造函数,继承

我们知道scala中一切皆为对象,函数也是对象,数字也是对象,它是一个比java还要面向对象的语言. 定义scala的简单类 class Point (val x:Int, val y:Int) 上面一行代码就是一个scala类的定义: 首先是关键字class 其后是类名 Point 类名之后的括号中是构造函数的参数列表,这里相当于定义了对象的两个常量,其名称分别为x,y,类型都是Int 上面的类和下面的类是一致的,不过更精简了. class Point (xArg:Int, yArg:Int)

面向对象定义 特征 原则

面向对象 面向对象是一种思想.思维方式,程序制作的一种结构. 万物皆对象. 三大特性:封装.继承.多态. 类是程序的最基本单元. 三大特性是:封装,继承,多态 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏.封装是面向对象的特征之一,是对象和类概念的主要特性. 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体.在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问.通过这种方式,对象对内部数据提供了

js 面向对象 定义对象

js面向对象看了很多,却没有完全真正的理解,总是停留在一定的阶段,这次再认真看一下. 面向对象包含两种:定义类或对象:继承机制:都是通过工厂模式,构造函数,原型链,混合方法这四个阶段,原理也一样,只是实现细节有点不同 定义类或对象教程:http://www.w3school.com.cn/js/pro_js_object_defining.asp 思路:工厂模式--构造函数--原型链--混合方式,注意每个阶段的具体写法和不足 工厂模式(四个阶段):原始--工厂--传参--共享方法:方法名小写:不

一 面向对象定义

一 面向对象的由来 一.概述 二.详细发展历史 二 什么是面向对象设计以及为什么要有面向对象 三 类与对象 四 属性查找 五 绑定到对象方法的特殊之处 六 对象之间的交互 一 面向对象的由来 一.概述 1940年以前:面向机器 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数 据.简单来说,就是直接编写 0 和 1 的序列来代表程序语言.例如:使用 0000 代表 加载(LOAD),0001 代表 存储(STORE)等. 机器语言由机器直接执行,速度快,

面向对象定义一个类

1定义一个类格式:public class 类名{类体},能编译不能运行类名首字母必须大写,以后每个单词首字母大写2定义属性和声明变量一样格式:属性类型 属性名;,属性名首字母小写以后每个单词首字母大写属性类型可以是任意类型(基本数据类型和引用数据类型,比如String)3.定义方法格式 public void 方法名(参数){语句(方法体)}方法名首字母小写以后每个单词首字母大写 注意事项:类里只能有属性和方法(方法块,代码块),语句必须写到方法里 4.定义对象:类名 对象名 = new 类名

面向对象定义类或者接口

根据描述,按照面向对象的方式来定义类或者接口: 举个例子: 鸟能在空中飞:飞机也能在空中飞:超人也能在空中飞: 空警能管理和控制飞机的飞行线路,当然也能管理超人的飞行线路,但是对于鸟是无法管理的

面向对象定义类,属性

class Programer(object):#定义了一个类 hobby="Piay Computer"#定义了一个属性 def __init__(self,name,age,weight):#构造函数定义属性 self.name=name self._age=age self.__weight=weight def get_weight(self): return self.__weight if __name__=="__main__": prpgramer=

PHP学习笔记十七【面向对象定义类】

<?php class Person{ public $name; public $age; public function speak(){ echo "Hello world"; } //判断最大的数 public function findMax($arr) { //从数组中找最大的数 //1.假设数组的第一个数就是最大的数 $maxVal=$arr[0]; //2.计算最大数的下标 for($i=1;$i<count($arr);$i++) { if($maxVal