《2018年1月24日》【连续105天】
标题:Java多态变量,向上造型,多态和问题解决,直言三段论的格;
内容:
A.Java的多态变量:
一个对象有静态变量,和动态变量的区别,Java中缺省是动态变量,
静态类型的变量当编译时,就可以断定其类型;
而动态类型的变量只有运行时才可以确定类型;
一个对象可以有静态类型,或动态类型,它就叫多态类型;
造型(cast):Java中不存在对象间的赋值,一个对象赋值给另一个对象,只是地址的赋值,这叫造型;
一般,OP语言中只有C++可以进行对象赋值(运算符重载);
向上造型:
子类可以造型给父类,这叫向上造型;
B .多态:跟C++的差不多,这里加几个补充;
覆盖(override):子类和父类用于名称和参数表完全相同的函数,这叫覆盖;
覆盖时,调用函数会调用该类的函数;
C.问题:需要解决还未解决的事;
解决:问题分析->提出假设->检验假设;
问题的要素:现实:即条件,目标:即要达到的要求或结果;
形式化:问题={现实,目标};
题解=目标-现实={A1,A2,.....An};
问题归约:对问题进行归纳和简化;
三要素:
目标:即问题的初始描述;
算子集:用来讲给定问题变换为若干子问题的操作;
基元问题集:已有解或其解十分明显可以直接描述的问题;
“或”节点:原问题分解成若干子问题,若只需解决其中一个子问题,原问题就可以解决,这些子问题的节点就相当于“或”节点;
“与”节点:原问题分解成若干缺一不可(均需解决)的子问题,...........;
问题求解的策略:
1.算法式:按照逻辑来求解策略,若原问题有解,则算法式一定可以得到问题的答案;
常用:枚举,递归等;
缺点:耗时;
2.启发式:根据以往解决问题的经验形成的经验规则解决问题,有可能得不出结果;
常见:a).手段目的分析:不断地将当前状态和目标状态进行比较,然后采取措施尽可能缩短两者的差距;
b).顺向工作(顺向推理):从问题的已知条件出发,通过逐步拓展已有的信息直到问题解决的策略;
c).逆向工作(逆向推理):从问题的目标出发,将问题目标分解成若干子目标,直到子目标按逆推途径建立直接联系或等同关系;
问题分析方法:
1.抽象:
方法:
分离,提纯,简略;
2.数学建模(七桥问题);
抽象和建模是很重要的;
D.直言三段论的格:
1.第一格:
规则:1.小前提必肯定(反证)2.大前提必全称;
2.第二格:
规则:1.前提中必有一否定 2.大前提必全称;
3.第三格:
M P
M S
S P
规则:1.小前提必肯定 2.结论必特称 3.两前提必有一全称;
4.第四格:
P M
M S
S P
规则:1).若大前提为肯定,则小前提必全称;2).若小前提为肯定,则结论必为特称;
3).若前提有一否定,则大前提必为全称;
4).任何一个前提都不能是特称否定;
格的规则弱于三段论的总规则;
明日计划:早睡早起;