2.7 面向对象介绍 2.8 类的属性 2.9 类的方法

2.7 面向对象介绍

面向对象是编程的一种方法java

数值就是数值对象,字符串就是字符串对象等等python

面向对象 C++,java,python等shell

面向过程 C ,shell等编程

类和对象:这是面向对象中的两个重要概念

类:是对事物的抽象,好比人类、球类……数组

对象:是类的一个实例,好比足球、篮球……函数

实例说明

球类能够对球的特征和行为进行抽象,而后能够实例化一个真实的球实体出来code

面向对象的主要思想

封装对象

继承继承

多态字符串

这种思想方便解决较为复杂的项目,且维护起来比较容易

类定义

类把须要的变量和函数组合在一块儿,这种包含被称为封装

class A(object):

类的结构:

class 类名:

成员变量-属性 成员函数-方法

>>> class People(object):
...     name = 'zx'
		def think(self):  \\定义的函数必须有self
			print 'thinking'
... 
>>> a = People()   \\实例化
>>> print people
<__main__.People object at 0x7fb9e3403c90>
>>> a.think()  \\调用think方法
thinking

2.8 类的属性

类是由属性和方法组成的,属性能够叫作成员属性,方法能够叫作成员方法

class People(object):
	name = 'zx'  \\属性
	def think(self):  \\方法
		print 'thinking'

对象的建立

建立对象的过程曾称之为实例化;当一个对象被建立后,包含三个方面的特性:对象句柄,属性和方法。

句柄用于区分不一样的对象

对象的属性和方法与类中的成员变量和成员函数对应

oji=MyClass() \建立类的一个实例(对象)经过对象来调用方法和属性

类的属性

类的属性按使用范围分为公有属性和私有属性,类的属性范围取决于属性的名称。

公有属性:在类中和类外都能调用的属性

私有属性:不能在类外以及被类之外的函数调用;定义方式, 已“__”双下划线开始的成员变量就是私有属性;能够经过instance.__classname__attribute方式访问

内置属性:有系统在定义类时默认添加的,右先后双下划线构成, _dic_, _module_

class ClassA(object):
	pub = 'pub'
	__pri = 'pri'
	def show(self):
		print self.pub
		print self.__pri
		
classa = ClassA
classa.pub = 'newpub' \\能够在外部修改共有属性

2.9 类的方法

方法的定义和函数同样,可是须要self做为第一个参数

类的方法有:公有方法、私有方法、类方法和静态方法。

类方法:被classmethod()函数处理过的函数,能被类所调用,也能被对象所调用(是继承的关系)

静态方法:至关于“全局函数”,能够被类直接调用,能够被全部实例化对象共享,经过staticmethod()定义,注意静态方法没有self参数

class ClassA(object):
	pub = 'pub'
	__pri = 'pri'
	def show(self): \\公有方法
		print self.pub
		print self.__pri
	
	def new(self):
		self.think()  \\调用公有方法
	
	def __mypri(self): \\私有方法,不能在外部调用
		pass
classa = ClassA

类方法classmethod()

class ClassA(object):
	pub = 'pub'
	__pri = 'pri'
	def show(self): \\公有方法
		print self.pub
		print self.__pri
	test = classmethod(show)

classa = ClassA()
ClassA.test  \\直接调用show方法

静态方法

class ClassA(object):
	pub = 'pub'
	__pri = 'pri'
	def show(): 
		print self.pub
		print self.__pri
	test = staticmethod(show)

classa = ClassA()
classa.test \\静态方法调用不会传参数
相关文章
相关标签/搜索