编程的思想--面向对象

面向过程

过程类似于函数,但过程只负责执行,但没有返回值;函数可以执行也可以返回结果。

步骤:

  • 把完成某一需求的所有步骤从头到尾逐步实现;
  • 根据开发需求,将某些功能独立的代码封装成多个函数;
  • 最后完成的代码就是调用不同的函数。

特点:

  • 注重步骤和过程,不注重职责分工;
  • 如果需求很复杂,代码也会很复杂;
  • 开发复杂的项目时,没有固定的步骤,开发难度大。

面向对象

面对对象是比面对过程更大的封装。

步骤:

  • 明确职责,确定最后需要完成的功能;
  • 根据不同的职责分类成不同的对象;
  • 给不同的对象分配相应的方法。

特点:

  • 注重对象和职责的对应;
  • 有固定的步骤,适合面向复杂的项目;
  • 需要在面向过程的基础上,再学习一些面向对象的语法。

类和对象

1. 类和对象的定义

  • 类是对一群具有相同特征和行为的事物的统称,是抽象的,不能直接使用。类是负责创建对象的。
  • 对象是由类创建的一个具体存在,可以直接使用。

在程序开发中,应该先有类,再有对象。

2. 类和对象的关系

类是模板,对象是根据类这个模板创建出来的,所以应该先有类,再有对象(举例,类是飞机图纸,对象是根据图纸制造出来的飞机)。类中定义了什么属性和方法,对象就要有对应的属性和方法,不能多也不能少。

3. 类的设计

类的三要素:

  • 类名的选取,满足大驼峰命名法。即:
    <1> 每个单词的首字母大写;
    <2> 单词与单词之间没有下划线。
    类名一般选取名词(名词提炼法)
  • 属性:类的特征
  • 方法:类的行为(动词)

面向对象的基础语法

1. dir内置函数

如何在ipython中验证一个东西是否是对象

  • 在标识符或数据后输入一个.,然后按下TAB键:
name = []
name.(TAB)
>>>name.append	name.copy	name.insert ...
  • 使用内置函数dir
dir(name)
>>>['__new__','__doc__','__del__',...]

提示__方法名__格式的方法是python提供的内置方法或属性

2. 定义简单的类

在python中命名类:

class 类名:
	def 方法1(self, 参考列表):
		pass
	def 方法2(self, 参考列表):
		pass

注意:类中的方法,第一个参数必须是self。

%d可以以十进制输出数字
%x可以以十六进制输出数字

注意:相同的类只有一个,但可以用同一个类创建多个不同的对象

# 创建一个类,命名为Cat
class Cat:
	def eat(self):
		pass
	def drink(self):
		pass
		
# 创建一个对象tom,并引用类Cat
tom = Cat()
tom.eat
tom.drink

# 创建一个对象lazy_cat,并引用类Cat
lazy_cat = Cat()

# 创建一个对象lazy_cat2,并引用对象lazy_cat
lazy_cat2 = lazy_cat

# 上面三个对象,tom和lazy_cat是不同的对象,但是lazy_cat和lazy_cat2是相同的对象。
# 可以用print()查看其引用的类Cat的地址。
print("tom")
print("lazy_cat")
print("lazy_cat2")

参考视频

发布了3 篇原创文章 · 获赞 1 · 访问量 1366

猜你喜欢

转载自blog.csdn.net/shelley_hu/article/details/102746609