面向对象
1.什么是对象
2.什么是类
3.属性
4.方法
5.构造器
对象:
世界是由形形色色的物质组成,各自有各自的特征
在程序中,一切皆对象,也有特征
对象区分的重要特征:静态特征,动态特征
对象的属性和方法:
1.属性:描述对象的静态特征
2方法:描述对象的动态特征
类
统观的说,类是一个模型,里面包含对象的静态特征和动态特征
类的定义:
访问修饰符 class 类名
{
//字段定义,必须有
修饰符 字段类型 字段1
修饰符 字段类型 字段2
修饰符 字段类型 字段3
…..
//方法定义,说明该方法的功能,用来干什么的
//方法看需求是否需要,类中不一定一定要写方法,后面多态的表现中有所涉及
方法1
方法2
}
属性
访问修饰符(外部和内部)
public 外部可见
private 内部可见
class Student
{
//类默认是内部的private,对外界不开放
}
字段:又称成员变量,一般用private修饰,字段命名规范一般采用camel命名法
属性:面向对象中主要使用属性描述对象静态特征,一般采用Pascal命名法
class Student
{
//字段
private int studentId; ———-字段私有化
private string studentName;
private string studentGender;
private int studentAge;
//属性
public int Age ———-属性公有化供外界访问
{
get{return age;}
set{age=value;}
//当然了有需要的话属性也可以有逻辑
例如
get{return age;}
set
{
if(age<18)
{
age=18
}
else
{
age=value
}
}
}
}
方法
方法:表示一个类能够实现的操作,也就是对象的动态特征
方法通常有:
(1) 实例方法
(2)静态方法(构造方法,抽象方法,虚方法)
方法的定义:
访问修饰符 返回值类型 方法名(参数1,参数2。。。)
{
//方法主题
return 返回值 / /如果没有返回值可以不写
}
访问修饰符:一般也就public和private
返回值类型:
(1)没有返回值:使用void
(2)有返回值,一般就是数据类型:int,string,double,list等等
方法名字:采用Pascal命名法,推荐是通俗易懂的名字,首字母大写
参数列表:以 类型 参数名的形式,多个参数以逗号分离
方法返回值:return +类型与返回值类型一致,没有返回值不需要return
方法的调用:
对象名.方法名(参数1,参数2...)
构造方法
Student stu=new Student();
无参构造方法:
Student();这其实是一个特殊的方法 public Student() { }
有参构造方法:
class Student
{
private int age;
private string name;
}
public Student(int age,string name)
{
this.age=age;
this.name=name;
}
实例化对象
Student stu =new Student(){age=12,name=”张三”}
或者 Student stu =new Student(12,”张三”)