面向对象

面向对象

核心是对象二字,对象是特征与技能的结合体,基于面向对象设计程序就好比在创造一个世界,你就是这个世界的上帝,存在的皆为对象,

不存在的也可以创造出来,与面向过程机械式的思维方式形成鲜明对比,面向对象更加注重对现实世界的模拟,是一种“上帝式”的思维方式。

类:

    对象是特征与技能的结合体,那类就是一系列对象相同的特征与技能的结合体

2、在现实世界中:一定先有对象,后来随着人类文明的发展总结出的类
对象是具体存在的,而类只是一种抽象概念

3、在程序中,务必保证:先定义类,后调用类来产生对象



现实生活中的对象:
对象1:
特征:
school="Oldboy"
name="马冬梅"
age=18
sex="female"
技能:
学习
选课

对象2:
特征:
school="Oldboy"
name="甜蜜蜜"
age=21
sex="male"
技能:
学习
选课

对象3:
特征:
school="Oldboy"
name="原石开"
age=22
sex="male"
技能:
学习
选课

现实生活中的老男孩学生类:
相同的特征
school="Oldboy"
相同的技能
学习
选课
'''
#1、程序中的类
class OldboyStudent:
# 用变量表示特征
school="Oldboy"

# 用函数表示技能
def learn(self):
print('is learning...')

def choose(self):
print('choose course...')

# print('======>')

# 注意:在定义类的阶段会立刻执行类体内的代码,然后将产生的名字存放于类名称空间中
# print(OldboyStudent.__dict__)
# print(OldboyStudent.__dict__['school'])
# print(OldboyStudent.__dict__['learn'])
# OldboyStudent.__dict__['learn'](123)

# print(OldboyStudent.school) # OldboyStudent.__dict__['school']
# print(OldboyStudent.learn) # OldboyStudent.__dict__['learn']
# OldboyStudent.learn('xxx')
# OldboyStudent.learn('xxx')


OldboyStudent.country='China'
OldboyStudent.school='偶的博爱'

del OldboyStudent.country
print(OldboyStudent.__dict__)





如果我让你编写一个选课系统,那么有如下对象,请抽象成类,然后在程序中定义出来
#     4.1 老男孩有两所学校:北京校区和上海校区
# 4.2 老男孩学校有两们课程:python和linux
# 4.3 老男孩有老师:egon,alex,lxx,wxx,yxx
# 4.3 老男孩有学生:。。。
# 4.4 老男孩有班级:python全栈开发1班,linux高级架构师2班
class PythonBeijin:
shcool = 'Beijing'
course = 'Python'
team = 'python全栈开发1班'
taecher='alex'

def choose(self):
print('choose course...')

class LinuxBeijin:
shcool = 'Beijing'
course = 'Linux'
team = 'linux高级架构师2班'
taecher = 'wxx'

def choose(self):
print('choose course...')

class PythonShanghai:
shcool = 'Shanghai'
course = 'Python'
team = 'python全栈开发1班'
taecher='egon'

def choose(self):
print('choose course...')
原文地址:https://www.cnblogs.com/yangwei666/p/8779048.html