python面向对象知识总结梳理

面向对象知识梳理、总结

什么是面向对象?

面向对象简称是OOP,是目前主流的编程思想,JavaScript本身也是面向对象的编程语言,对于动态网页行为的编程,只要稍微对它有了解就可以的。对象这个词在是从英文“object”中翻译过来的,在之前的编程过程中,我们过多的考虑的是计算机硬件的工作方式,导致编程的难度增加,经过不断的发展和改良,主流的程序语言在想人类的自然语言转变,不过编程的思想还是没有重大性的突破。

对象就是人对各种具体物体抽象之后的概念,人们每天都在跟各种各样的对象打交道,比如说一本书就是一个对象。在面向对象的编程过程中,对象有很多的特性,比如说高度、宽度、颜色等等,这些都是对象的属性,而且对象还有更多的功能,比如一部手机,可以听歌,看视频,打电话,这些可以理解成有个对象的方法,这些方法可以看成是函数,并且对象不是孤立的,它还具有对象的继承性。在编程的过程中,我们可以把所有的问题看做是对象,以人的思维解决问题。对象实际上就是一组数据的集合,并且都已经被命名,这些数据的根据就是对象的属性,可以被访问。如果想访问一个外部的对象我们就必须先引进它,好比你想用国外的东西一样,只有你从国外把它带回来你才能使用。那么下面我们就看看如何创建一个对象吧:在我们JavaScript内部有很多是内置对象,我们也可以直接创建一个新的对象,创建对象的方法就是使用new运算符和构造函数,eg:var new_name=new 构造函数;预先定义的构造函数直接直接决定所创建对象的类型,如果想创建一个空的对象,可以使用object()构造函数。还有就是定义对象的属性,其实定义对象的属性很简单,直接在对象后面用点运算符号声明属性的名称,并可直接赋值。创建对象所用的构造函数是预定义的,如Object()可以用于创建一个空对象,而创建数组对象我们可以使用Array()构造函数。这些都是些内置的构造函数,当然我们也可以自定义,就是自定义构造函数,比如你想构造有个食物的对象,就是构造food()的对象,通过向这个构造函数传递参数以初始化对象实例。不过构造函数只能初始化对象实例而不能返回对象实例,需要使用new运算符才能创建食物的对象实例。

什么是类和对象?

1)对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。

2)类:具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

类与对象的关系就如模具和铸件的关系,类的实力化的结果就是对象,而对对象的抽象就是类,类描述了一组有相同特性(属性)和相同行为的对象。

类的声明语法和注意事项/

对象的创建语法和注意事项/

对象操作属性/

对象调用方法/

第一种方法:

class Call:
	def setName(self, name):
		self.name = name
	def kick(self):
		print("我的名字是{}".format(self.name))

call = Call()
call.setName("DaShuaige")
print(call.kick())

这种方法需要先声明一个对象,然后通过一个函数将参数传入对象中。

第二种方法:

class Ball:
	def __init__(self, name):
		self.name = name
	def kick(self):
		print("我叫{}".format(self.name))
ball = Ball("DaHaoren")
print(ball.kick())

这种方法在声明一个对象的时候考研将参数直接通过调用类导入对象当中。

类和对象的区别?

1,类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。
2,对象是类的一个具体。它是一个实实在在存在的东西。
3,类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。
4,对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变。

面向对象封装的意义

为了保护敏感/隐私属性数据,让外界访问当前对象中的属性数据时,可以按照我们指定的条件进行访问,否则不允许访问,提高属性数据的安全性。

封装的操作步骤

  1. 将当前类型中所有属性私有化。
  2. 给每个属性提供访问属性数据的set/get方法。
  3. 给敏感属性的访问方法中,添加访问限制条件。
class Person:
	def __init__(self, name, age):
        self.__name = name
        self.__age = age

    def set_name(self, name):
        self.__name = name

    def g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值